Chris Robinson : wined3d: Don't assume the fake DC is the current DC.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Aug 28 07:50:09 CDT 2007


Module: wine
Branch: master
Commit: d0a61fd269ea16de8fcb746c5ac7b3d173d41159
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d0a61fd269ea16de8fcb746c5ac7b3d173d41159

Author: Chris Robinson <chris.kcat at gmail.com>
Date:   Mon Aug 27 08:49:11 2007 -0700

wined3d: Don't assume the fake DC is the current DC.

---

 dlls/wined3d/directx.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 29d54ee..a553a6a 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -2512,6 +2512,7 @@ BOOL InitAdapters(void) {
         WineD3D_PixelFormat *cfgs;
         int attribute;
         DISPLAY_DEVICEW DisplayDevice;
+        HDC hdc;
 
         TRACE("Initializing default adapter\n");
         Adapters[0].monitorPoint.x = -1;
@@ -2539,6 +2540,14 @@ BOOL InitAdapters(void) {
             return FALSE;
         }
 
+        hdc = pwglGetCurrentDC();
+        if(!ret) {
+            ERR("Failed to get gl HDC\n");
+            HeapFree(GetProcessHeap(), 0, Adapters);
+            WineD3D_ReleaseFakeGLContext();
+            return FALSE;
+        }
+
         Adapters[0].driver = "Display";
         Adapters[0].description = "Direct3D HAL";
 
@@ -2549,7 +2558,7 @@ BOOL InitAdapters(void) {
         strcpyW(Adapters[0].DeviceName, DisplayDevice.DeviceName);
 
         attribute = WGL_NUMBER_PIXEL_FORMATS_ARB;
-        GL_EXTCALL(wglGetPixelFormatAttribivARB(wined3d_fake_gl_context_hdc, 0, 0, 1, &attribute, &Adapters[0].nCfgs));
+        GL_EXTCALL(wglGetPixelFormatAttribivARB(hdc, 0, 0, 1, &attribute, &Adapters[0].nCfgs));
 
         Adapters[0].cfgs = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, Adapters[0].nCfgs *sizeof(WineD3D_PixelFormat));
         cfgs = Adapters[0].cfgs;
@@ -2561,7 +2570,7 @@ BOOL InitAdapters(void) {
         PUSH1(WGL_STENCIL_BITS_ARB)
 
         for(iPixelFormat=1; iPixelFormat<=Adapters[0].nCfgs; iPixelFormat++) {
-            res = GL_EXTCALL(wglGetPixelFormatAttribivARB(wined3d_fake_gl_context_hdc, iPixelFormat, 0, nAttribs, attribs, values));
+            res = GL_EXTCALL(wglGetPixelFormatAttribivARB(hdc, iPixelFormat, 0, nAttribs, attribs, values));
 
             if(!res)
                 continue;




More information about the wine-cvs mailing list