From 81e206f963f3d645a4ac40d36c071a803810daef Mon Sep 17 00:00:00 2001 From: Tom Poole Date: Thu, 4 Oct 2018 11:28:59 +0100 Subject: [PATCH] MacOS: Fixed a bug parsing local file URLs containing URL escape characters --- modules/juce_gui_basics/native/juce_mac_FileChooser.mm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/juce_gui_basics/native/juce_mac_FileChooser.mm b/modules/juce_gui_basics/native/juce_mac_FileChooser.mm index 3fcc32eed8..f2e3320f13 100644 --- a/modules/juce_gui_basics/native/juce_mac_FileChooser.mm +++ b/modules/juce_gui_basics/native/juce_mac_FileChooser.mm @@ -207,8 +207,12 @@ private: auto addURLResult = [&chooserResults] (NSURL* urlToAdd) { auto scheme = nsStringToJuce ([urlToAdd scheme]); - auto path = nsStringToJuce ([urlToAdd path]); - chooserResults.add (URL (scheme + "://" + path)); + auto pathComponents = StringArray::fromTokens (nsStringToJuce ([urlToAdd path]), "/", {}); + + for (auto& component : pathComponents) + component = URL::addEscapeChars (component, false); + + chooserResults.add (URL (scheme + "://" + pathComponents.joinIntoString ("/"))); }; if (isSave)