Skip to content

Commit 636db99

Browse files
FIX: Mac image preview only shows spinner
1 parent e7890e7 commit 636db99

File tree

7 files changed

+26
-32
lines changed

7 files changed

+26
-32
lines changed

Assets/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
-1.84 KB
Binary file not shown.

Plugins/MacOS/StandaloneFileBrowser/Plugin.mm

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -129,22 +129,16 @@ - (void)dialogOpenFilePanelAsync:(NSString*)title
129129
multiselect:multiselect
130130
canChooseFiles:canChooseFiles
131131
canChooseFolders:canChooseFolders];
132-
if (panel) {
133-
dispatch_async(dispatch_get_main_queue(), ^{
134-
if ([panel runModal] == NSModalResponseOK) {
135-
if ([[panel URLs] count] > 0) {
136-
NSString* seperator = [NSString stringWithFormat:@"%c", 28];
137-
NSString* paths = [[panel URLs] componentsJoinedByString:seperator];
138-
asyncCallback([paths UTF8String]);
139-
return;
140-
}
141-
}
142-
asyncCallback([@"" UTF8String]);
143-
});
144-
}
145-
else {
146-
asyncCallback([@"" UTF8String]);
132+
[self performSelectorOnMainThread:@selector(dialogOpenFilePanelAsyncSelector:) withObject:panel waitUntilDone:NO];
133+
}
134+
135+
- (void)dialogOpenFilePanelAsyncSelector:(NSOpenPanel*)panel {
136+
NSString* paths = @"";
137+
if (panel && [panel runModal] == NSModalResponseOK && [[panel URLs] count] > 0) {
138+
NSString* seperator = [NSString stringWithFormat:@"%c", 28];
139+
paths = [[panel URLs] componentsJoinedByString:seperator];
147140
}
141+
asyncCallback([paths UTF8String]);
148142
}
149143

150144
- (NSOpenPanel*)createOpenPanel:(NSString*)title
@@ -229,23 +223,19 @@ - (void)dialogSaveFilePanelAsync:(NSString*)title
229223
directory:directory
230224
defaultName:defaultName
231225
filters:filters];
232-
if (panel) {
233-
dispatch_async(dispatch_get_main_queue(), ^{
234-
if ([panel runModal] == NSModalResponseOK) {
235-
NSURL *URL = [panel URL];
236-
if (URL) {
237-
asyncCallback([[URL path] UTF8String]);
238-
return;
239-
}
240-
}
241-
asyncCallback([@"" UTF8String]);
242-
});
243-
}
244-
else {
245-
asyncCallback([@"" UTF8String]);
246-
}
226+
[self performSelectorOnMainThread:@selector(dialogSaveFilePanelAsyncSelector:) withObject:panel waitUntilDone:NO];
247227
}
248228

229+
- (void)dialogSaveFilePanelAsyncSelector:(NSSavePanel*)panel {
230+
NSString* path = @"";
231+
if (panel && [panel runModal] == NSModalResponseOK) {
232+
NSURL *URL = [panel URL];
233+
if (URL) {
234+
path = [URL path];
235+
}
236+
}
237+
asyncCallback([path UTF8String]);
238+
}
249239

250240
- (NSSavePanel*)createSavePanel:(NSString*)title
251241
directory:(NSString*)directory

Plugins/MacOS/StandaloneFileBrowser/Plugin.pch

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,15 @@ extern "C" {
4949
canChooseFiles:(BOOL)canChooseFiles
5050
canChooseFolders:(BOOL)canChooseFolders;
5151

52+
- (void)dialogOpenFilePanelAsyncSelector:(NSOpenPanel*)panel;
53+
5254
- (void)dialogSaveFilePanelAsync:(NSString*)title
5355
directory:(NSString*)directory
5456
defaultName:(NSString*)defaultName
5557
filters:(NSString*)filters;
5658

59+
- (void)dialogSaveFilePanelAsyncSelector:(NSOpenPanel*)panel;
60+
5761
- (NSOpenPanel*)createOpenPanel:(NSString*)title
5862
directory:(NSString*)directory
5963
filters:(NSString*)filters

ProjectSettings/ProjectVersion.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
m_EditorVersion: 2017.1.1f1
1+
m_EditorVersion: 2017.1.0f3

0 commit comments

Comments
 (0)