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. Task-number: QTBUG-85714 Change-Id: Ifa5d22b83808c92ae92efcbcddc8d8c3d3ba34b1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 03650696a1fb727a337865d43f068ddc7723a893) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
03cb3405ae
commit
e99a9ff495
@ -1301,7 +1301,10 @@ bool QWindowsGLContext::makeCurrent(QPlatformSurface *surface)
|
|||||||
&& QOpenGLStaticContext::opengl32.wglGetCurrentDC() == contextData->hdc) {
|
&& QOpenGLStaticContext::opengl32.wglGetCurrentDC() == contextData->hdc) {
|
||||||
return true;
|
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.
|
// Create a new entry.
|
||||||
const QOpenGLContextData newContext(m_renderingContext, hwnd, GetDC(hwnd));
|
const QOpenGLContextData newContext(m_renderingContext, hwnd, GetDC(hwnd));
|
||||||
@ -1329,6 +1332,8 @@ bool QWindowsGLContext::makeCurrent(QPlatformSurface *surface)
|
|||||||
qCDebug(lcQpaGl) << "makeCurrent(): context loss detected" << this;
|
qCDebug(lcQpaGl) << "makeCurrent(): context loss detected" << this;
|
||||||
// Drop the surface. Will recreate on the next makeCurrent.
|
// Drop the surface. Will recreate on the next makeCurrent.
|
||||||
window->invalidateSurface();
|
window->invalidateSurface();
|
||||||
|
} else {
|
||||||
|
qErrnoWarning("%s: wglMakeCurrent() failed", __FUNCTION__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user