diff --git a/Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser b/Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser index 0dbfe5a..586df9f 100755 Binary files a/Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser and b/Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser differ diff --git a/Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser.meta b/Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser.meta index 60ddcb9..a298a74 100644 --- a/Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser.meta +++ b/Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: ddf122e0e89124ce78aacfeecb3ec554 -timeCreated: 1505930413 +timeCreated: 1508179371 licenseType: Pro DefaultImporter: userData: diff --git a/Package/StandaloneFileBrowser.unitypackage b/Package/StandaloneFileBrowser.unitypackage index 90f7ba4..3e61ce2 100644 Binary files a/Package/StandaloneFileBrowser.unitypackage and b/Package/StandaloneFileBrowser.unitypackage differ diff --git a/Plugins/MacOS/StandaloneFileBrowser/Plugin.mm b/Plugins/MacOS/StandaloneFileBrowser/Plugin.mm index 17129e1..30d6ea3 100755 --- a/Plugins/MacOS/StandaloneFileBrowser/Plugin.mm +++ b/Plugins/MacOS/StandaloneFileBrowser/Plugin.mm @@ -129,22 +129,16 @@ - (void)dialogOpenFilePanelAsync:(NSString*)title multiselect:multiselect canChooseFiles:canChooseFiles canChooseFolders:canChooseFolders]; - if (panel) { - dispatch_async(dispatch_get_main_queue(), ^{ - if ([panel runModal] == NSModalResponseOK) { - if ([[panel URLs] count] > 0) { - NSString* seperator = [NSString stringWithFormat:@"%c", 28]; - NSString* paths = [[panel URLs] componentsJoinedByString:seperator]; - asyncCallback([paths UTF8String]); - return; - } - } - asyncCallback([@"" UTF8String]); - }); - } - else { - asyncCallback([@"" UTF8String]); + [self performSelectorOnMainThread:@selector(dialogOpenFilePanelAsyncSelector:) withObject:panel waitUntilDone:NO]; +} + +- (void)dialogOpenFilePanelAsyncSelector:(NSOpenPanel*)panel { + NSString* paths = @""; + if (panel && [panel runModal] == NSModalResponseOK && [[panel URLs] count] > 0) { + NSString* seperator = [NSString stringWithFormat:@"%c", 28]; + paths = [[panel URLs] componentsJoinedByString:seperator]; } + asyncCallback([paths UTF8String]); } - (NSOpenPanel*)createOpenPanel:(NSString*)title @@ -229,23 +223,19 @@ - (void)dialogSaveFilePanelAsync:(NSString*)title directory:directory defaultName:defaultName filters:filters]; - if (panel) { - dispatch_async(dispatch_get_main_queue(), ^{ - if ([panel runModal] == NSModalResponseOK) { - NSURL *URL = [panel URL]; - if (URL) { - asyncCallback([[URL path] UTF8String]); - return; - } - } - asyncCallback([@"" UTF8String]); - }); - } - else { - asyncCallback([@"" UTF8String]); - } + [self performSelectorOnMainThread:@selector(dialogSaveFilePanelAsyncSelector:) withObject:panel waitUntilDone:NO]; } +- (void)dialogSaveFilePanelAsyncSelector:(NSSavePanel*)panel { + NSString* path = @""; + if (panel && [panel runModal] == NSModalResponseOK) { + NSURL *URL = [panel URL]; + if (URL) { + path = [URL path]; + } + } + asyncCallback([path UTF8String]); +} - (NSSavePanel*)createSavePanel:(NSString*)title directory:(NSString*)directory diff --git a/Plugins/MacOS/StandaloneFileBrowser/Plugin.pch b/Plugins/MacOS/StandaloneFileBrowser/Plugin.pch index 290724c..fd7de84 100755 --- a/Plugins/MacOS/StandaloneFileBrowser/Plugin.pch +++ b/Plugins/MacOS/StandaloneFileBrowser/Plugin.pch @@ -49,11 +49,15 @@ extern "C" { canChooseFiles:(BOOL)canChooseFiles canChooseFolders:(BOOL)canChooseFolders; +- (void)dialogOpenFilePanelAsyncSelector:(NSOpenPanel*)panel; + - (void)dialogSaveFilePanelAsync:(NSString*)title directory:(NSString*)directory defaultName:(NSString*)defaultName filters:(NSString*)filters; +- (void)dialogSaveFilePanelAsyncSelector:(NSOpenPanel*)panel; + - (NSOpenPanel*)createOpenPanel:(NSString*)title directory:(NSString*)directory filters:(NSString*)filters diff --git a/Plugins/MacOS/StandaloneFileBrowser/StandaloneFileBrowser.xcodeproj/project.xcworkspace/xcuserdata/gokhangokce.xcuserdatad/UserInterfaceState.xcuserstate b/Plugins/MacOS/StandaloneFileBrowser/StandaloneFileBrowser.xcodeproj/project.xcworkspace/xcuserdata/gokhangokce.xcuserdatad/UserInterfaceState.xcuserstate index 9909997..4eecf48 100755 Binary files a/Plugins/MacOS/StandaloneFileBrowser/StandaloneFileBrowser.xcodeproj/project.xcworkspace/xcuserdata/gokhangokce.xcuserdatad/UserInterfaceState.xcuserstate and b/Plugins/MacOS/StandaloneFileBrowser/StandaloneFileBrowser.xcodeproj/project.xcworkspace/xcuserdata/gokhangokce.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index a211ccd..ca1aa05 100755 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1 +1 @@ -m_EditorVersion: 2017.1.1f1 +m_EditorVersion: 2017.1.0f3