summaryrefslogtreecommitdiffstats
path: root/gfx/gl/GLContextProviderWGL.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 15:11:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 15:11:27 +0000
commitf3bcaf9f88aad2c423ebcd61121562f9834187d4 (patch)
treef22238c29b57707b645a350940e3e9bdf3ce1f5d /gfx/gl/GLContextProviderWGL.cpp
parentAdding debian version 115.7.0esr-1~deb12u1. (diff)
downloadfirefox-esr-f3bcaf9f88aad2c423ebcd61121562f9834187d4.tar.xz
firefox-esr-f3bcaf9f88aad2c423ebcd61121562f9834187d4.zip
Merging upstream version 115.8.0esr.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'gfx/gl/GLContextProviderWGL.cpp')
-rw-r--r--gfx/gl/GLContextProviderWGL.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/gfx/gl/GLContextProviderWGL.cpp b/gfx/gl/GLContextProviderWGL.cpp
index 2720cab14e..5d90ee5169 100644
--- a/gfx/gl/GLContextProviderWGL.cpp
+++ b/gfx/gl/GLContextProviderWGL.cpp
@@ -158,12 +158,16 @@ bool WGLLibrary::EnsureInitialized() {
const auto curCtx = mSymbols.fGetCurrentContext();
const auto curDC = mSymbols.fGetCurrentDC();
+ GLContext::ResetTLSCurrentContext();
+
if (!mSymbols.fMakeCurrent(mRootDc, mDummyGlrc)) {
NS_WARNING("wglMakeCurrent failed");
return false;
}
- const auto resetContext =
- MakeScopeExit([&]() { mSymbols.fMakeCurrent(curDC, curCtx); });
+ const auto resetContext = MakeScopeExit([&]() {
+ GLContext::ResetTLSCurrentContext();
+ mSymbols.fMakeCurrent(curDC, curCtx);
+ });
const auto loader = GetSymbolLoader();
@@ -297,6 +301,8 @@ GLContextWGL::~GLContextWGL() {
}
bool GLContextWGL::MakeCurrentImpl() const {
+ GLContext::ResetTLSCurrentContext();
+
const bool succeeded = sWGLLib.mSymbols.fMakeCurrent(mDC, mContext);
NS_ASSERTION(succeeded, "Failed to make GL context current!");
return succeeded;