diff --git a/examples/Assets/DemoUtilities.h b/examples/Assets/DemoUtilities.h index fa995e374e..b8b60d001c 100644 --- a/examples/Assets/DemoUtilities.h +++ b/examples/Assets/DemoUtilities.h @@ -59,6 +59,10 @@ inline File getExamplesDirectory() noexcept return mo.toString(); #else auto currentFile = File::getSpecialLocation (File::SpecialLocationType::currentExecutableFile); + auto exampleDir = currentFile.getParentDirectory().getChildFile ("examples"); + + if (exampleDir.exists()) + return exampleDir; int numTries = 0; // keep track of the number of parent directories so we don't go on endlessly diff --git a/examples/DemoRunner/Source/Demos/JUCEDemos.cpp b/examples/DemoRunner/Source/Demos/JUCEDemos.cpp index d459204b54..79934b0c5d 100644 --- a/examples/DemoRunner/Source/Demos/JUCEDemos.cpp +++ b/examples/DemoRunner/Source/Demos/JUCEDemos.cpp @@ -67,13 +67,15 @@ void JUCEDemos::registerDemo (std::function constructorCallback, c File JUCEDemos::findExamplesDirectoryFromExecutable (File exec) { int numTries = 15; + auto exampleDir = exec.getParentDirectory().getChildFile ("examples"); + + if (exampleDir.exists()) + return exampleDir; while (exec.getFileName() != "examples" && numTries-- > 0) exec = exec.getParentDirectory(); - if (exec.getFileName() == "examples") return exec; - return {}; }