diff options
| author | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-08-22 23:53:37 +0000 |
|---|---|---|
| committer | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-08-22 23:53:37 +0000 |
| commit | 531ad373b2c22e00a341a6635023cf8949571bd5 (patch) | |
| tree | 029961f0aa19ec396f6d7cc09f3ff93987c9aa62 /macosx/plugins/DFCdrom/macsrc/PluginConfigController.m | |
| parent | 9628a367530657e7fefb17be0a125dbe3f5d7614 (diff) | |
Moving most of the OS X preferences to auto layout, and all to 10.7.
Changing some lists of independent checkbox buttons to matrices.
Fix a discrepancy between SDL versions 1.2 and 2.0 APIs in OS X's input preferences.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86849 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'macosx/plugins/DFCdrom/macsrc/PluginConfigController.m')
| -rwxr-xr-x | macosx/plugins/DFCdrom/macsrc/PluginConfigController.m | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m b/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m index ed80b490..c519a666 100755 --- a/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m +++ b/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m @@ -26,6 +26,15 @@ #define APP_ID @"net.pcsxr.DFCdrom" #define PrefsKey APP_ID @" Settings" +static inline void RunOnMainThreadSync(dispatch_block_t block) +{ + if ([NSThread isMainThread]) { + block(); + } else { + dispatch_sync(dispatch_get_main_queue(), block); + } +} + static PluginConfigController *windowController = nil; void AboutDlgProc() @@ -68,17 +77,19 @@ void AboutDlgProc() void ConfDlgProc() { - NSWindow *window; - - if (windowController == nil) { - windowController = [[PluginConfigController alloc] initWithWindowNibName:@"DFCdromPluginConfig"]; - } - window = [windowController window]; - - [windowController loadValues]; - - [window center]; - [window makeKeyAndOrderFront:nil]; + RunOnMainThreadSync(^{ + NSWindow *window; + + if (windowController == nil) { + windowController = [[PluginConfigController alloc] initWithWindowNibName:@"DFCdromPluginConfig"]; + } + window = [windowController window]; + + [windowController loadValues]; + + [window center]; + [window makeKeyAndOrderFront:nil]; + }); } void ReadConfig() |
