vlc/vlc-3.0 | branch: master | Marvin Scholz <epira...@gmail.com> | Fri Apr 23 
01:01:37 2021 +0200| [68cffcff2bcb6d14d459112831e3ae00291b053b] | committer: 
Marvin Scholz

macosx: SPMediaKeyTap: Consolidate callbacks

One callback only existed to call the other one with the
autorelease pool. Move that to the other one and get rid of
the unnecessary callback.

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=68cffcff2bcb6d14d459112831e3ae00291b053b
---

 modules/gui/macosx/SPMediaKeyTap.m | 72 +++++++++++++++++---------------------
 1 file changed, 33 insertions(+), 39 deletions(-)

diff --git a/modules/gui/macosx/SPMediaKeyTap.m 
b/modules/gui/macosx/SPMediaKeyTap.m
index 0b7dccdf70..4ffb01087a 100644
--- a/modules/gui/macosx/SPMediaKeyTap.m
+++ b/modules/gui/macosx/SPMediaKeyTap.m
@@ -213,48 +213,42 @@ static CGEventRef tapEventCallback(CGEventTapProxy proxy, 
CGEventType type, CGEv
 #pragma mark -
 #pragma mark Event tap callbacks
 
-static CGEventRef tapEventCallback2(CGEventTapProxy proxy, CGEventType type, 
CGEventRef event, void *refcon)
-{
-    SPMediaKeyTap *self = (__bridge SPMediaKeyTap *)refcon;
-
-    if(type == kCGEventTapDisabledByTimeout) {
-        NSLog(@"VLC SPMediaKeyTap: Media key event tap was disabled by 
timeout");
-        CGEventTapEnable(self->_eventPort, TRUE);
-        return event;
-    } else if(type == kCGEventTapDisabledByUserInput) {
-        // Was disabled manually by -setShouldInterceptMediaKeyEvents:
-        return event;
-    }
-    NSEvent *nsEvent = nil;
-    @try {
-        nsEvent = [NSEvent eventWithCGEvent:event];
-    }
-    @catch (NSException * e) {
-        NSLog(@"VLC SPMediaKeyTap: Strange CGEventType: %d: %@", type, e);
-        assert(0);
-        return event;
-    }
-
-    if (type != NX_SYSDEFINED || [nsEvent subtype] != 
SPSystemDefinedEventMediaKeys)
-        return event;
-
-    int keyCode = (([nsEvent data1] & 0xFFFF0000) >> 16);
-    if (keyCode != NX_KEYTYPE_PLAY && keyCode != NX_KEYTYPE_FAST && keyCode != 
NX_KEYTYPE_REWIND && keyCode != NX_KEYTYPE_PREVIOUS && keyCode != 
NX_KEYTYPE_NEXT)
-        return event;
-
-    if (!self->_shouldInterceptMediaKeyEvents)
-        return event;
-
-    [self 
performSelectorOnMainThread:@selector(handleAndReleaseMediaKeyEvent:) 
withObject:nsEvent waitUntilDone:NO];
-
-    return NULL;
-}
-
 static CGEventRef tapEventCallback(CGEventTapProxy proxy, CGEventType type, 
CGEventRef event, void *refcon)
 {
     @autoreleasepool {
-        CGEventRef ret = tapEventCallback2(proxy, type, event, refcon);
-        return ret;
+        SPMediaKeyTap *self = (__bridge SPMediaKeyTap *)refcon;
+
+        if(type == kCGEventTapDisabledByTimeout) {
+            NSLog(@"VLC SPMediaKeyTap: Media key event tap was disabled by 
timeout");
+            CGEventTapEnable(self->_eventPort, TRUE);
+            return event;
+        } else if(type == kCGEventTapDisabledByUserInput) {
+            // Was disabled manually by -setShouldInterceptMediaKeyEvents:
+            return event;
+        }
+        NSEvent *nsEvent = nil;
+        @try {
+            nsEvent = [NSEvent eventWithCGEvent:event];
+        }
+        @catch (NSException * e) {
+            NSLog(@"VLC SPMediaKeyTap: Strange CGEventType: %d: %@", type, e);
+            assert(0);
+            return event;
+        }
+
+        if (type != NX_SYSDEFINED || [nsEvent subtype] != 
SPSystemDefinedEventMediaKeys)
+            return event;
+
+        int keyCode = (([nsEvent data1] & 0xFFFF0000) >> 16);
+        if (keyCode != NX_KEYTYPE_PLAY && keyCode != NX_KEYTYPE_FAST && 
keyCode != NX_KEYTYPE_REWIND && keyCode != NX_KEYTYPE_PREVIOUS && keyCode != 
NX_KEYTYPE_NEXT)
+            return event;
+
+        if (!self->_shouldInterceptMediaKeyEvents)
+            return event;
+
+        [self 
performSelectorOnMainThread:@selector(handleAndReleaseMediaKeyEvent:) 
withObject:nsEvent waitUntilDone:NO];
+
+        return NULL;
     }
 }
 

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to