Correctly recognize when wglChoosePixelFormatARB() fails.

This function returns TRUE even if it failed to find any matching formats, so
test not only its return value but also the number of formats it found.

Closes #12474.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2010-09-20 13:15:21 +00:00
parent 76c4b1491e
commit af6da66ce3

View File

@ -493,12 +493,21 @@ static int ChoosePixelFormatARB(HDC hdc, const int *attribList)
int pf;
UINT numFormats = 0;
if ( !wglChoosePixelFormatARB(hdc, iAttributes, NULL, 1, &pf, &numFormats) )
{
wxLogLastError(wxT("wglChoosePixelFormatARB"));
return 0;
}
// Although TRUE is returned if no matching formats are found (see
// http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt), pf is
// not initialized in this case so we need to check for numFormats being
// not 0 explicitly (however this is not an error so don't call
// wxLogLastError() here).
if ( !numFormats )
pf = 0;
return pf;
}