From 40ba90b19fa1f1f697e6e07c4a66aab46e00d593 Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 26 Sep 2014 09:34:03 +0100 Subject: [PATCH] Fixed some escaping of slash characters in TreeViewItem identifier strings. --- modules/juce_gui_basics/widgets/juce_TreeView.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/juce_gui_basics/widgets/juce_TreeView.cpp b/modules/juce_gui_basics/widgets/juce_TreeView.cpp index c7bb76e6e2..9360000f46 100644 --- a/modules/juce_gui_basics/widgets/juce_TreeView.cpp +++ b/modules/juce_gui_basics/widgets/juce_TreeView.cpp @@ -1773,6 +1773,11 @@ TreeViewItem* TreeViewItem::getNextVisibleItem (const bool recurse) const noexce return nullptr; } +static String escapeSlashesInTreeViewItemName (const String& s) +{ + return s.replaceCharacter ('/', '\\'); +} + String TreeViewItem::getItemIdentifierString() const { String s; @@ -1780,12 +1785,12 @@ String TreeViewItem::getItemIdentifierString() const if (parentItem != nullptr) s = parentItem->getItemIdentifierString(); - return s + "/" + getUniqueName().replaceCharacter ('/', '\\'); + return s + "/" + escapeSlashesInTreeViewItemName (getUniqueName()); } TreeViewItem* TreeViewItem::findItemFromIdentifierString (const String& identifierString) { - const String thisId ("/" + getUniqueName()); + const String thisId ("/" + escapeSlashesInTreeViewItemName (getUniqueName())); if (thisId == identifierString) return this;