Skip to content

Commit deb4629

Browse files
committed
FIX: Unable to locate path containing german umlauts on OSX gkngkc#38
1 parent 6ba93b1 commit deb4629

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

Plugins/MacOS/StandaloneFileBrowser/Plugin.mm

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,14 @@ - (NSString*)dialogOpenFilePanel:(NSString*)title
106106
multiselect:multiselect
107107
canChooseFiles:canChooseFiles
108108
canChooseFolders:canChooseFolders];
109-
if (panel && [panel runModal] == NSModalResponseOK) {
110-
if ([[panel URLs] count] > 0) {
111-
NSString* seperator = [NSString stringWithFormat:@"%c", 28];
112-
return [[panel URLs] componentsJoinedByString:seperator];
109+
if (panel && [panel runModal] == NSModalResponseOK && [[panel URLs] count] > 0) {
110+
NSMutableArray* paths = [NSMutableArray arrayWithCapacity:[[panel URLs] count]];
111+
for (int i = 0; i < [[panel URLs] count]; i++) {
112+
NSURL* url = [[panel URLs] objectAtIndex:i];
113+
[paths addObject:[url path]];
113114
}
115+
NSString* seperator = [NSString stringWithFormat:@"%c", 28];
116+
return [paths componentsJoinedByString:seperator];
114117
}
115118

116119
return @"";
@@ -133,12 +136,17 @@ - (void)dialogOpenFilePanelAsync:(NSString*)title
133136
}
134137

135138
- (void)dialogOpenFilePanelAsyncSelector:(NSOpenPanel*)panel {
136-
NSString* paths = @"";
139+
NSString* pathsStr = @"";
137140
if (panel && [panel runModal] == NSModalResponseOK && [[panel URLs] count] > 0) {
141+
NSMutableArray* paths = [NSMutableArray arrayWithCapacity:[[panel URLs] count]];
142+
for (int i = 0; i < [[panel URLs] count]; i++) {
143+
NSURL* url = [[panel URLs] objectAtIndex:i];
144+
[paths addObject:[url path]];
145+
}
138146
NSString* seperator = [NSString stringWithFormat:@"%c", 28];
139-
paths = [[panel URLs] componentsJoinedByString:seperator];
147+
pathsStr = [paths componentsJoinedByString:seperator];
140148
}
141-
asyncCallback([paths UTF8String]);
149+
asyncCallback([pathsStr UTF8String]);
142150
}
143151

144152
- (NSOpenPanel*)createOpenPanel:(NSString*)title

0 commit comments

Comments
 (0)