[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