When renaming a file, projucer doesn’t warn you if the file already exists, and just delete it.
To reproduce you can create a new plugin and rename PluginEditor.cpp
to PluginProcessor.cpp
. Your original PluginProcessor.cpp
will be deleted and you will loose your code!
diff --git a/extras/Projucer/Source/Project/jucer_Project.cpp b/extras/Projucer/Source/Project/jucer_Project.cpp
index bd142b5d..0a6e6d69 100644
--- a/extras/Projucer/Source/Project/jucer_Project.cpp
+++ b/extras/Projucer/Source/Project/jucer_Project.cpp
@@ -1367,7 +1367,7 @@ bool Project::Item::renameFile (const File& newFile)
{
auto oldFile = getFile();
- if (oldFile.moveFileTo (newFile)
+ if ((! newFile.exists() && oldFile.moveFileTo (newFile))
|| (newFile.exists() && ! oldFile.exists()))
{
setFile (newFile);