Revision: 340
http://svn.sourceforge.net/fuse-for-macosx/?rev=340&view=rev
Author: fredm
Date: 2007-04-06 02:48:36 -0700 (Fri, 06 Apr 2007)
Log Message:
-----------
Make changes due to some routines being called from the Emulator
thread rather than the UI one.
Modified Paths:
--------------
branches/fusegl/fuse/fusepb/controllers/FuseController.m
Modified: branches/fusegl/fuse/fusepb/controllers/FuseController.m
===================================================================
--- branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 07:21:52 UTC (rev 339)
+++ branches/fusegl/fuse/fusepb/controllers/FuseController.m 2007-04-06 09:48:36 UTC (rev 340)
@@ -50,6 +50,7 @@
#include "settings.h"
#include "settings_cocoa.h"
#include "snapshot.h"
+#include "tape.h"
#include "thumbnail.h"
#include "ui.h"
#include "uidisplay.h"
@@ -1840,9 +1841,14 @@
if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
- [[DisplayOpenGLView instance] tapeWrite:filename];
+ /* We will be calling this from the Emulator thread */
+ tape_write( filename );
- [[FuseController singleton] addRecentSnapshot:filename];
+ [[FuseController singleton]
+ performSelectorOnMainThread:@selector(addRecentSnapshotWithString:)
+ withObject:[NSString stringWithUTF8String:filename]
+ waitUntilDone:NO
+ ];
free( filename );
@@ -1870,9 +1876,14 @@
if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
- [[DisplayOpenGLView instance] specplus3DiskWrite:filename inDrive:which];
+ /* We will be calling this from the Emulator thread */
+ specplus3_disk_write( which, filename );
- [[FuseController singleton] addRecentSnapshot:filename];
+ [[FuseController singleton]
+ performSelectorOnMainThread:@selector(addRecentSnapshotWithString:)
+ withObject:[NSString stringWithUTF8String:filename]
+ waitUntilDone:NO
+ ];
free( filename );
@@ -1901,9 +1912,14 @@
if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
- [[DisplayOpenGLView instance] trdosDiskWrite:filename inDrive:which];
+ /* We will be calling this from the Emulator thread */
+ trdos_disk_write( which, filename );
- [[FuseController singleton] addRecentSnapshot:filename];
+ [[FuseController singleton]
+ performSelectorOnMainThread:@selector(addRecentSnapshotWithString:)
+ withObject:[NSString stringWithUTF8String:filename]
+ waitUntilDone:NO
+ ];
free( filename );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|