From 276e7622a970191296323f0844e4066c64986cad Mon Sep 17 00:00:00 2001 From: jules Date: Sat, 26 May 2012 17:51:43 +0100 Subject: [PATCH] Introjucer: added checking to avoid duplicate IDs in groups. --- extras/Introjucer/Source/Project/jucer_Module.cpp | 4 ++-- extras/Introjucer/Source/Project/jucer_Project.cpp | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/extras/Introjucer/Source/Project/jucer_Module.cpp b/extras/Introjucer/Source/Project/jucer_Module.cpp index ad7e551124..da7819e4d2 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.cpp +++ b/extras/Introjucer/Source/Project/jucer_Module.cpp @@ -590,7 +590,7 @@ static bool exporterTargetMatches (const String& test, String target) validTargets.addTokens (target, ",;", ""); validTargets.trim(); validTargets.removeEmptyStrings(); - + if (validTargets.size() == 0) return true; @@ -602,7 +602,7 @@ static bool exporterTargetMatches (const String& test, String target) || (target.startsWithChar ('!') && test != target.substring (1).trimStart())) return true; } - + return false; } diff --git a/extras/Introjucer/Source/Project/jucer_Project.cpp b/extras/Introjucer/Source/Project/jucer_Project.cpp index ec877a97e7..f05ac5f21c 100644 --- a/extras/Introjucer/Source/Project/jucer_Project.cpp +++ b/extras/Introjucer/Source/Project/jucer_Project.cpp @@ -707,7 +707,13 @@ Project::Item Project::Item::getOrCreateSubGroup (const String& name) Project::Item Project::Item::addNewSubGroup (const String& name, int insertIndex) { - Item group (createGroup (project, name, createGUID (getID() + name + String (getNumChildren())))); + String newID (createGUID (getID() + name + String (getNumChildren()))); + + int n = 0; + while (findItemWithID (newID).isValid()) + newID = createGUID (newID + String (++n)); + + Item group (createGroup (project, name, newID)); jassert (canContain (group)); addChild (group, insertIndex);