[PATCH 2/7] d3d9/tests: Test that Direct3D9 doesn't modify the pixel format of the window it targets. (try 3)

Ken Thomases ken at codeweavers.com
Mon Feb 17 14:35:42 CST 2014


On Feb 14, 2014, at 11:53 AM, Henri Verbeet wrote:

> On 14 February 2014 00:31, Ken Thomases <ken at codeweavers.com> wrote:
>> +    /* If no opengl32 function has been called, GetPixelFormat() doesn't reflect a
>> +       prior SetPixelFormat().  So, call wglCreateContext() even though it will fail. */
>> +    hglrc = wglCreateContext(hdc);
>> +    ok(hglrc == NULL, "wglCreateContext succeeded when no pixel format has been set\n");
>> +    if (hglrc) wglDeleteContext(hglrc);
> I decided to look into this a bit, but could only reproduce it on the
> testbot. It seems just loading opengl32 is enough to make
> GetPixelFormat() work. (Also see
> https://newtestbot.winehq.org/JobDetails.pl?Key=4908.)

It seems that dynamically linked libraries are not initialized until called, while dynamically loaded libraries are initialized immediately.  Or something like that.

If I take your patch and remove the LoadLibraryA()/FreeLibrary() calls but add opengl32 to the IMPORTS, then it fails on a real Windows 7 machine.  Patch and executable are available from <https://newtestbot.winehq.org/JobDetails.pl?Key=4980> although, at this writing, the test itself hadn't completed on the testbot.

I guess dynamic loading is good enough for me.  I'll rework the patches and resubmit.

-Ken




More information about the wine-devel mailing list