diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp index 9ef3611d30..a86f8db413 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -291,7 +291,7 @@ bool MainWindow::tryToOpenPIP (const File& pipFile) if (! ProjucerApplication::getApp().mainWindowList.openFile (generator.getJucerFile())) return false; - openPIP (generator, pipFile.getFileName()); + openPIP (generator); return true; } @@ -361,7 +361,7 @@ static int findBestLineToScrollTo (StringArray lines, StringRef className) return 0; } -void MainWindow::openPIP (PIPGenerator& generator, StringRef fileName) +void MainWindow::openPIP (PIPGenerator& generator) { if (auto* window = ProjucerApplication::getApp().mainWindowList.getMainWindowForFile (generator.getJucerFile())) { @@ -378,7 +378,7 @@ void MainWindow::openPIP (PIPGenerator& generator, StringRef fileName) pcc->invokeDirectly (CommandIDs::buildNow, true); pcc->invokeDirectly (CommandIDs::toggleContinuousBuild, true); - auto fileToDisplay = project->getSourceFilesFolder().getChildFile (fileName); + auto fileToDisplay = generator.getPIPFile(); if (fileToDisplay != File()) { diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.h b/extras/Projucer/Source/Application/jucer_MainWindow.h index 8675d99ee0..b939acde7b 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.h +++ b/extras/Projucer/Source/Application/jucer_MainWindow.h @@ -85,7 +85,7 @@ private: void createProjectContentCompIfNeeded(); void setTitleBarIcon(); - void openPIP (PIPGenerator&, StringRef fileName); + void openPIP (PIPGenerator&); void valueChanged (Value&) override; diff --git a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h index d85769efa4..083da2df42 100644 --- a/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h +++ b/extras/Projucer/Source/Utility/PIPs/jucer_PIPGenerator.h @@ -37,6 +37,7 @@ public: //============================================================================== bool hasValidPIP() const noexcept { return ! metadata[Ids::name].toString().isEmpty(); } File getJucerFile() noexcept { return outputDirectory.getChildFile (metadata[Ids::name].toString() + ".jucer"); } + File getPIPFile() noexcept { return useLocalCopy ? outputDirectory.getChildFile ("Source").getChildFile (pipFile.getFileName()) : pipFile; } String getMainClassName() const noexcept { return metadata[Ids::mainClass]; }