From 9e9ce2c30be9d6af144ff07f69c15c508d84e776 Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Sat, 21 May 2016 11:58:25 +0200 Subject: Fix regression: restore order in resources (e.g. pattern list) (bzr r14907) --- src/layer-manager.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/layer-manager.cpp') diff --git a/src/layer-manager.cpp b/src/layer-manager.cpp index c0fe95dd7..19c4b890c 100644 --- a/src/layer-manager.cpp +++ b/src/layer-manager.cpp @@ -191,10 +191,10 @@ Glib::ustring LayerManager::getNextLayerName( SPObject* obj, gchar const *label) } std::set currentNames; - std::set layers = _document->getResourceList("layer"); + std::vector layers = _document->getResourceList("layer"); SPObject *root=_desktop->currentRoot(); if ( root ) { - for (std::set::const_iterator iter = layers.begin(); iter != layers.end(); ++iter) { + for (std::vector::const_iterator iter = layers.begin(); iter != layers.end(); ++iter) { if (*iter != obj) currentNames.insert( (*iter)->label() ? Glib::ustring((*iter)->label()) : Glib::ustring() ); } @@ -260,7 +260,7 @@ void LayerManager::_rebuild() { if (!_document) // http://sourceforge.net/mailarchive/forum.php?thread_name=5747bce9a7ed077c1b4fc9f0f4f8a5e0%40localhost&forum_name=inkscape-devel return; - std::set layers = _document->getResourceList("layer"); + std::vector layers = _document->getResourceList("layer"); SPObject *root=_desktop->currentRoot(); if ( root ) { @@ -268,7 +268,7 @@ void LayerManager::_rebuild() { std::set layersToAdd; - for ( std::set::const_iterator iter = layers.begin(); iter != layers.end(); ++iter ) { + for ( std::vector::const_iterator iter = layers.begin(); iter != layers.end(); ++iter ) { SPObject *layer = *iter; // Debug::EventTracker tracker(Util::format("Examining %s", layer->label())); bool needsAdd = false; @@ -281,7 +281,7 @@ void LayerManager::_rebuild() { SPGroup* group = SP_GROUP(curr); if ( group->layerMode() == SPGroup::LAYER ) { // If we have a layer-group as the one or a parent, ensure it is listed as a valid layer. - needsAdd &= ( layers.find(curr) != layers.end() ); + needsAdd &= ( std::find(layers.begin(),layers.end(),curr) != layers.end() ); // XML Tree being used here directly while it shouldn't be... if ( (!(group->getRepr())) || (!(group->getRepr()->parent())) ) { needsAdd = false; -- cgit v1.2.3