diff options
| author | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-07-26 19:55:10 +0000 |
|---|---|---|
| committer | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-07-26 19:55:10 +0000 |
| commit | d663bbeb7c6958388d515c196bc73956b574ffbb (patch) | |
| tree | 3093f1f1ecc383bfbef59a96e6e00056089daa46 /macosx/plugins/DFNet | |
| parent | 13e08db872f4775ca23df12fcc03f1916ed9691e (diff) | |
| download | pcsxr-d663bbeb7c6958388d515c196bc73956b574ffbb.tar.gz | |
fixing the wrong project being non-arc.
Add a convinience function for running blocks on the main thread syncronously.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86262 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'macosx/plugins/DFNet')
| -rwxr-xr-x | macosx/plugins/DFNet/macsrc/SockDialog.m | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/macosx/plugins/DFNet/macsrc/SockDialog.m b/macosx/plugins/DFNet/macsrc/SockDialog.m index 065afc26..77a09f04 100755 --- a/macosx/plugins/DFNet/macsrc/SockDialog.m +++ b/macosx/plugins/DFNet/macsrc/SockDialog.m @@ -40,12 +40,20 @@ void SysMessage(const char *fmt, ...) } } +static inline void RunOnMainThreadSync(dispatch_block_t block) +{ + if ([NSThread isMainThread]) { + block(); + } else { + dispatch_sync(dispatch_get_main_queue(), block); + } +} static SockDialog *globalSock = nil; void sockCreateWaitDlg() { - dispatch_sync(dispatch_get_main_queue(), ^{ + RunOnMainThreadSync(^{ if (globalSock == nil) { globalSock = [[SockDialog alloc] init]; } @@ -70,7 +78,7 @@ long sockOpen() void sockDestroyWaitDlg() { - dispatch_sync(dispatch_get_main_queue(), ^{ + RunOnMainThreadSync(^{ if (globalSock != nil) { [globalSock close]; |
