|
@@ -272,7 +272,13 @@ String OS_OSX::get_system_dir(SystemDir p_dir) const {
|
|
}
|
|
}
|
|
|
|
|
|
Error OS_OSX::shell_open(String p_uri) {
|
|
Error OS_OSX::shell_open(String p_uri) {
|
|
- [[NSWorkspace sharedWorkspace] openURL:[[NSURL alloc] initWithString:[[NSString stringWithUTF8String:p_uri.utf8().get_data()] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]]];
|
|
|
|
|
|
+ NSString *string = [NSString stringWithUTF8String:p_uri.utf8().get_data()];
|
|
|
|
+ NSURL *uri = [[NSURL alloc] initWithString:string];
|
|
|
|
+ // Escape special characters in filenames
|
|
|
|
+ if (!uri || !uri.scheme || [uri.scheme isEqual:@"file"]) {
|
|
|
|
+ uri = [[NSURL alloc] initWithString:[string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]];
|
|
|
|
+ }
|
|
|
|
+ [[NSWorkspace sharedWorkspace] openURL:uri];
|
|
return OK;
|
|
return OK;
|
|
}
|
|
}
|
|
|
|
|