windows: gl: Print GetLastError() when makeCurrent fails
This matches the behavior of other implementations, such as QEGLPlatformContext: doing a qWarning with the relevant error from eglGetError() or equivalent is helpful when something goes wrong and should be common among QOpenGLPlatformContext implementations. Pick-to: 6.1 Task-number: QTBUG-85714 Change-Id: Ifa5d22b83808c92ae92efcbcddc8d8c3d3ba34b1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>bb10
parent
ddc886d670
commit
03650696a1
|
|
@ -1301,7 +1301,10 @@ bool QWindowsGLContext::makeCurrent(QPlatformSurface *surface)
|
|||
&& QOpenGLStaticContext::opengl32.wglGetCurrentDC() == contextData->hdc) {
|
||||
return true;
|
||||
}
|
||||
return QOpenGLStaticContext::opengl32.wglMakeCurrent(contextData->hdc, contextData->renderingContext);
|
||||
const bool success = QOpenGLStaticContext::opengl32.wglMakeCurrent(contextData->hdc, contextData->renderingContext);
|
||||
if (!success)
|
||||
qErrnoWarning("%s: wglMakeCurrent() failed for existing context data", __FUNCTION__);
|
||||
return success;
|
||||
}
|
||||
// Create a new entry.
|
||||
const QOpenGLContextData newContext(m_renderingContext, hwnd, GetDC(hwnd));
|
||||
|
|
@ -1329,6 +1332,8 @@ bool QWindowsGLContext::makeCurrent(QPlatformSurface *surface)
|
|||
qCDebug(lcQpaGl) << "makeCurrent(): context loss detected" << this;
|
||||
// Drop the surface. Will recreate on the next makeCurrent.
|
||||
window->invalidateSurface();
|
||||
} else {
|
||||
qErrnoWarning("%s: wglMakeCurrent() failed", __FUNCTION__);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue