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