summaryrefslogtreecommitdiff
path: root/macosx/plugins/DFCdrom/macsrc/PluginConfigController.m
diff options
context:
space:
mode:
authorSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-08-22 23:53:37 +0000
committerSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-08-22 23:53:37 +0000
commit531ad373b2c22e00a341a6635023cf8949571bd5 (patch)
tree029961f0aa19ec396f6d7cc09f3ff93987c9aa62 /macosx/plugins/DFCdrom/macsrc/PluginConfigController.m
parent9628a367530657e7fefb17be0a125dbe3f5d7614 (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-xmacosx/plugins/DFCdrom/macsrc/PluginConfigController.m33
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()