Kaynağa Gözat

Cocoa: Add missing call to removeObserver:

As noted in the documentation for NSDistributedNotificationCenter,
(under the Discussion heading) before an observer is deallocated a call
should be made to removeObserver: in order to ensure that the listener
is correctly removed from all observation pools.

Fixes #817.
Closes #826.
Patrick Snape 9 yıl önce
ebeveyn
işleme
74ed35792f
1 değiştirilmiş dosya ile 2 ekleme ve 0 silme
  1. 2 0
      src/cocoa_init.m

+ 2 - 0
src/cocoa_init.m

@@ -359,6 +359,8 @@ void _glfwPlatformTerminate(void)
             removeObserver:_glfw.ns.listener
             removeObserver:_glfw.ns.listener
                       name:(__bridge NSString*)kTISNotifySelectedKeyboardInputSourceChanged
                       name:(__bridge NSString*)kTISNotifySelectedKeyboardInputSourceChanged
                     object:nil];
                     object:nil];
+        [[NSDistributedNotificationCenter defaultCenter]
+            removeObserver:_glfw.ns.listener];
         [_glfw.ns.listener release];
         [_glfw.ns.listener release];
         _glfw.ns.listener = nil;
         _glfw.ns.listener = nil;
     }
     }