summaryrefslogtreecommitdiffstats
path: root/gfx/gl/GLContextProviderCGL.mm
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/gl/GLContextProviderCGL.mm')
-rw-r--r--gfx/gl/GLContextProviderCGL.mm22
1 files changed, 7 insertions, 15 deletions
diff --git a/gfx/gl/GLContextProviderCGL.mm b/gfx/gl/GLContextProviderCGL.mm
index ceab3046c..7cc89eac9 100644
--- a/gfx/gl/GLContextProviderCGL.mm
+++ b/gfx/gl/GLContextProviderCGL.mm
@@ -83,26 +83,13 @@ GLContextCGL::GLContextCGL(CreateContextFlags flags, const SurfaceCaps& caps,
GLContextCGL::~GLContextCGL()
{
MarkDestroyed();
-
- if (mContext) {
- if ([NSOpenGLContext currentContext] == mContext) {
- // Clear the current context before releasing. If we don't do
- // this, the next time we call [NSOpenGLContext currentContext],
- // "invalid context" will be printed to the console.
- [NSOpenGLContext clearCurrentContext];
- }
- [mContext release];
- }
-
+ [mContext release];
}
bool
GLContextCGL::Init()
{
- if (!InitWithPrefix("gl", true))
- return false;
-
- return true;
+ return InitWithPrefix("gl", true);
}
CGLContextObj
@@ -114,6 +101,11 @@ GLContextCGL::GetCGLContext() const
bool
GLContextCGL::MakeCurrentImpl(bool aForce)
{
+ if (IsDestroyed()) {
+ [NSOpenGLContext clearCurrentContext];
+ return false;
+ }
+
if (!aForce && [NSOpenGLContext currentContext] == mContext) {
return true;
}