Index: /OpenSceneGraph/trunk/include/osgViewer/api/Cocoa/GraphicsWindowCocoa
===================================================================
--- /OpenSceneGraph/trunk/include/osgViewer/api/Cocoa/GraphicsWindowCocoa (revision 10208)
+++ /OpenSceneGraph/trunk/include/osgViewer/api/Cocoa/GraphicsWindowCocoa (revision 10456)
@@ -184,9 +184,10 @@
        
         
-        bool                _closeRequested, _checkForEvents,_ownsWindow;
-        MouseCursor            _currentCursor;
-        GraphicsWindowCocoaWindow* _window;
-        GraphicsWindowCocoaGLView*    _view;
-        NSOpenGLContext*    _context;
+        bool                            _closeRequested, _checkForEvents,_ownsWindow;
+        MouseCursor                     _currentCursor;
+        GraphicsWindowCocoaWindow*      _window;
+        GraphicsWindowCocoaGLView*      _view;
+        NSOpenGLContext*                _context;
+        bool                            _updateContext;
 };
 
Index: /OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowCocoa.mm
===================================================================
--- /OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowCocoa.mm (revision 10417)
+++ /OpenSceneGraph/trunk/src/osgViewer/GraphicsWindowCocoa.mm (revision 10456)
@@ -858,4 +858,5 @@
     _context = NULL;
     _window = NULL;
+    _updateContext = false;
     _valid = _initialized = true;
 }
@@ -1066,4 +1067,10 @@
 bool GraphicsWindowCocoa:: makeCurrentImplementation()
 {
+    if (_updateContext)
+    {
+        [_context update];
+        _updateContext = false; 
+    }
+    
     [_context makeCurrentContext];
     return true;
@@ -1206,11 +1213,8 @@
     GraphicsContext::resizedImplementation(x, y, width, height);
     
-    NSAutoreleasePool* localPool = [[NSAutoreleasePool alloc] init];
-   
-    if (_context)
-        [_context update];
+    _updateContext = true;
+    
     MenubarController::instance()->update();
     getEventQueue()->windowResize(x,y,width, height, getEventQueue()->getTime());
-    [localPool release];
 }
 
