mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-04-20 03:24:59 +00:00
Fix syncing wiimotes on OS X.
IOdarwin.mm was assuming that scanning was complete when the run loop was stopped (which the scan callback does), but somebody else was stopping the run loop first, causing the scan to be aborted. Wait until the scan is actually complete.
This commit is contained in:
parent
1ea8b93667
commit
e0214b1a38
1 changed files with 7 additions and 2 deletions
|
@ -7,6 +7,7 @@
|
|||
@interface SearchBT: NSObject {
|
||||
@public
|
||||
unsigned int maxDevices;
|
||||
bool done;
|
||||
}
|
||||
@end
|
||||
|
||||
|
@ -15,6 +16,7 @@
|
|||
error: (IOReturn) error
|
||||
aborted: (BOOL) aborted
|
||||
{
|
||||
done = true;
|
||||
CFRunLoopStop(CFRunLoopGetCurrent());
|
||||
}
|
||||
|
||||
|
@ -144,9 +146,12 @@ void WiimoteScanner::FindWiimotes(std::vector<Wiimote*> & found_wiimotes, Wiimot
|
|||
else
|
||||
ERROR_LOG(WIIMOTE, "Unable to do bluetooth discovery");
|
||||
|
||||
CFRunLoopRun();
|
||||
do
|
||||
{
|
||||
CFRunLoopRun();
|
||||
}
|
||||
while(!sbt->done);
|
||||
|
||||
[bti stop];
|
||||
int found_devices = [[bti foundDevices] count];
|
||||
|
||||
if (found_devices)
|
||||
|
|
Loading…
Add table
Reference in a new issue