Permalink
Browse files

[osx] changed, exclude from 10.4 runtime

  • Loading branch information...
davilla committed Oct 5, 2011
1 parent f338863 commit 5d57233307172470542b072dc32d0b605ff51e75
Showing with 18 additions and 10 deletions.
  1. +18 −10 xbmc/osx/HotKeyController.m
@@ -265,24 +265,32 @@ - (id)init
m_active = NO;
m_controlSysPower = NO;
m_controlSysVolume = NO;
- m_eventPort = CGEventTapCreate(kCGSessionEventTap,
- kCGHeadInsertEventTap, kCGEventTapOptionDefault,
- CGEventMaskBit(NX_SYSDEFINED), tapEventCallback, self);
- if (m_eventPort == NULL)
+
+ if (floor(NSAppKitVersionNumber) < 949)
{
- NSLog(@"Fatal Error: Event Tap could not be created");
- return self;
+ // check runtime, we only allow this on 10.5+
+ m_eventPort = NULL;
+ }
+ else
+ {
+ m_eventPort = CGEventTapCreate(kCGSessionEventTap,
+ kCGHeadInsertEventTap, kCGEventTapOptionDefault,
+ CGEventMaskBit(NX_SYSDEFINED), tapEventCallback, self);
+ if (m_eventPort != NULL)
+ {
+ // Run this in a separate thread so that a slow app
+ // doesn't lag the event tap
+ [NSThread detachNewThreadSelector:@selector(eventTapThread) toTarget:self withObject:nil];
+ }
}
-
- // Run this in a separate thread so that a slow app doesn't lag the event tap
- [NSThread detachNewThreadSelector:@selector(eventTapThread) toTarget:self withObject:nil];
}
return self;
}
- (void)dealloc
{
- CFRelease(m_eventPort);
+ if (m_eventPort)
+ CFRelease(m_eventPort);
[super dealloc];
}
@end

0 comments on commit 5d57233

Please sign in to comment.