diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-11-04 02:54:50 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-11-04 02:54:50 +0000 |
| commit | ea688720ca433a8b3e677eba1b5b980e0d16c216 (patch) | |
| tree | 9cf2d498878d051040abf4059f315e4ec4a54124 | |
| parent | 559fd026bb57e0d71615b237c37a31f287af5940 (diff) | |
| download | pcsxr-ea688720ca433a8b3e677eba1b5b980e0d16c216.tar.gz | |
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@35399 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | macosx/EmuThread.h | 1 | ||||
| -rw-r--r-- | macosx/EmuThread.m | 8 | ||||
| -rw-r--r-- | macosx/PcsxController.m | 6 |
3 files changed, 13 insertions, 2 deletions
diff --git a/macosx/EmuThread.h b/macosx/EmuThread.h index 7a20ea64..21b031fb 100644 --- a/macosx/EmuThread.h +++ b/macosx/EmuThread.h @@ -30,6 +30,7 @@ + (BOOL)isPaused; + (BOOL)active; ++ (BOOL)isRunBios; + (void)freezeAt:(NSString *)path which:(int)num; + (BOOL)defrostAt:(NSString *)path; diff --git a/macosx/EmuThread.m b/macosx/EmuThread.m index f8be4338..4818ff1a 100644 --- a/macosx/EmuThread.m +++ b/macosx/EmuThread.m @@ -19,6 +19,7 @@ EmuThread *emuThread; NSString *defrostPath = nil; static int safeEvent; static int paused; +static int runbios; static pthread_cond_t eventCond; static pthread_mutex_t eventMutex; @@ -227,6 +228,7 @@ done: safeEvent = EMUEVENT_NONE; paused = NO; + runbios = NO; if (SysInit() != 0) { pthread_mutex_unlock(&eventMutex); @@ -262,6 +264,7 @@ done: safeEvent = EMUEVENT_NONE; paused = NO; + runbios = YES; if (SysInit() != 0) { pthread_mutex_unlock(&eventMutex); @@ -357,6 +360,11 @@ done: return paused; } ++ (BOOL)isRunBios +{ + return runbios; +} + + (BOOL)active { return emuThread ? YES : NO; diff --git a/macosx/PcsxController.m b/macosx/PcsxController.m index d4e82b13..a7e5f313 100644 --- a/macosx/PcsxController.m +++ b/macosx/PcsxController.m @@ -154,11 +154,13 @@ NSString *saveStatePath; [menuItem setState:([EmuThread isPaused] ? NSOnState : NSOffState)]; } - if ([menuItem action] == @selector(reset:) || [menuItem action] == @selector(pause:) || - [menuItem action] == @selector(ejectCD:) || [menuItem action] == @selector(freeze:) || + if ([menuItem action] == @selector(pause:) || [menuItem action] == @selector(freeze:) || [menuItem action] == @selector(fullscreen:)) return [EmuThread active]; + if ([menuItem action] == @selector(reset:) || [menuItem action] == @selector(ejectCD:)) + return [EmuThread active] && ![EmuThread isRunBios]; + if ([menuItem action] == @selector(runCD:) || [menuItem action] == @selector(runIso:) || [menuItem action] == @selector(runBios:)) { if (preferenceWindow != nil) |
