Make sure reports are only sent from one thread
This commit is contained in:
parent
4d91081046
commit
59b94b92ca
@ -115,7 +115,7 @@
|
||||
[NSCursor unhide];
|
||||
}
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
[lastController setRumbleAmplitude:0];
|
||||
[self setRumble:0];
|
||||
[JOYController unregisterListener:self];
|
||||
}
|
||||
- (instancetype)initWithCoder:(NSCoder *)coder
|
||||
@ -272,7 +272,9 @@
|
||||
|
||||
- (void)setRumble:(double)amp
|
||||
{
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[lastController setRumbleAmplitude:amp];
|
||||
});
|
||||
}
|
||||
|
||||
- (void)controller:(JOYController *)controller movedAxis:(JOYAxis *)axis
|
||||
@ -301,7 +303,7 @@
|
||||
{
|
||||
if (![self.window isMainWindow]) return;
|
||||
if (controller != lastController) {
|
||||
[lastController setRumbleAmplitude:0];
|
||||
[self setRumble:0];
|
||||
lastController = controller;
|
||||
}
|
||||
|
||||
@ -319,7 +321,9 @@
|
||||
![preferred_joypad isEqualToString:controller.uniqueID]) {
|
||||
continue;
|
||||
}
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[controller setPlayerLEDs:1 << player];
|
||||
});
|
||||
NSDictionary *mapping = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"JoyKitInstanceMapping"][controller.uniqueID];
|
||||
if (!mapping) {
|
||||
mapping = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"JoyKitNameMapping"][controller.deviceName];
|
||||
|
Loading…
Reference in New Issue
Block a user