diff --git a/indra/llwindow/llwindowmacosx-objc.mm b/indra/llwindow/llwindowmacosx-objc.mm index 0e77ca6457eee6379d106eb3fa5b092e6e7174a2..cbbbccdc5bd3e73bf2d2e984ebaedaacea454a69 100644 --- a/indra/llwindow/llwindowmacosx-objc.mm +++ b/indra/llwindow/llwindowmacosx-objc.mm @@ -357,6 +357,7 @@ void removeGLView(GLViewRef view) { [(LLOpenGLView*)view clearGLContext]; [(LLOpenGLView*)view removeFromSuperview]; + [(LLOpenGLView*)view release]; } void setupInputWindow(NSWindowRef window, GLViewRef glview) diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index f5e4963380548ddd8500c12b1b39c545044729df..5f89bf92b0862a3f13385c8a9c51885de5912070 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -696,12 +696,6 @@ void LLWindowMacOSX::destroyContext() mPixelFormat = NULL; } - // Clean up the GL context - if(mContext != NULL) - { - CGLDestroyContext(mContext); - } - // Destroy our LLOpenGLView if(mGLView != NULL) { @@ -709,6 +703,12 @@ void LLWindowMacOSX::destroyContext() mGLView = NULL; } + // Clean up the GL context + if(mContext != NULL) + { + CGLDestroyContext(mContext); + } + // Close the window if(mWindow != NULL) {