summaryrefslogtreecommitdiff
path: root/macosx/plugins/DFNet/macsrc
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/plugins/DFNet/macsrc')
-rwxr-xr-xmacosx/plugins/DFNet/macsrc/PluginConfigController.m33
-rwxr-xr-xmacosx/plugins/DFNet/macsrc/SockDialog.h5
2 files changed, 25 insertions, 13 deletions
diff --git a/macosx/plugins/DFNet/macsrc/PluginConfigController.m b/macosx/plugins/DFNet/macsrc/PluginConfigController.m
index c25bd8bf..bb3b1061 100755
--- a/macosx/plugins/DFNet/macsrc/PluginConfigController.m
+++ b/macosx/plugins/DFNet/macsrc/PluginConfigController.m
@@ -32,6 +32,15 @@
static PluginConfigController *windowController = nil;
+static inline void RunOnMainThreadSync(dispatch_block_t block)
+{
+ if ([NSThread isMainThread]) {
+ block();
+ } else {
+ dispatch_sync(dispatch_get_main_queue(), block);
+ }
+}
+
void AboutDlgProc()
{
// Get parent application instance
@@ -70,17 +79,19 @@ void AboutDlgProc()
void ConfDlgProc()
{
- NSWindow *window;
-
- if (windowController == nil) {
- windowController = [[PluginConfigController alloc] initWithWindowNibName:@"DFNet"];
- }
- window = [windowController window];
-
- [windowController loadValues];
-
- [window center];
- [window makeKeyAndOrderFront:nil];
+ RunOnMainThreadSync(^{
+ NSWindow *window;
+
+ if (windowController == nil) {
+ windowController = [[PluginConfigController alloc] initWithWindowNibName:@"DFNet"];
+ }
+ window = [windowController window];
+
+ [windowController loadValues];
+
+ [window center];
+ [window makeKeyAndOrderFront:nil];
+ });
}
void ReadConfig()
diff --git a/macosx/plugins/DFNet/macsrc/SockDialog.h b/macosx/plugins/DFNet/macsrc/SockDialog.h
index 2898ceec..18f10bfd 100755
--- a/macosx/plugins/DFNet/macsrc/SockDialog.h
+++ b/macosx/plugins/DFNet/macsrc/SockDialog.h
@@ -9,8 +9,9 @@
#import <Cocoa/Cocoa.h>
-@interface SockDialog : NSWindowController {
-
+@interface SockDialog : NSWindowController
+{
+ IBOutlet NSProgressIndicator *spinningBar;
}
- (IBAction)cancel:(id)sender;
@end