[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx: [386] trunk/fuse/fusepb
Brought to you by:
fredm
|
From: <fr...@us...> - 2007-06-17 12:26:50
|
Revision: 386
http://svn.sourceforge.net/fuse-for-macosx/?rev=386&view=rev
Author: fredm
Date: 2007-06-17 05:26:52 -0700 (Sun, 17 Jun 2007)
Log Message:
-----------
Work around a problem that can cause an exception to be raised using the
NSConnection from several threads, don't allow the joystick selection dialog
to be posted from the emulator thread.
Modified Paths:
--------------
trunk/fuse/fusepb/controllers/FuseController.m
trunk/fuse/fusepb/views/DisplayOpenGLView.m
Modified: trunk/fuse/fusepb/controllers/FuseController.m
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.m 2007-06-17 11:15:49 UTC (rev 385)
+++ trunk/fuse/fusepb/controllers/FuseController.m 2007-06-17 12:26:52 UTC (rev 386)
@@ -1235,7 +1235,7 @@
- (void)openFile:(const char *)filename
{
- if( !filename ) { [[DisplayOpenGLView instance] unpause]; return; }
+ if( !filename ) return;
[[DisplayOpenGLView instance] openFile:filename];
}
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-17 11:15:49 UTC (rev 385)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-17 12:26:52 UTC (rev 386)
@@ -218,6 +218,8 @@
kitConnection = [[NSConnection alloc] initWithReceivePort:port1 sendPort:port2];
[kitConnection setRootObject:self];
+ [kitConnection enableMultipleThreads];
+
/* Ports switched here */
portArray = [NSArray arrayWithObjects:port2, port1, nil];
@@ -571,7 +573,9 @@
-(void) openFile:(const char *)filename
{
- [proxy_emulator openFile:filename];
+ /* openFile can end up calling a dialog for joystick selection, this must
+ run on the main thread */
+ [real_emulator openFile:filename];
}
-(void) tapeOpen:(const char *)filename
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|