summaryrefslogtreecommitdiffstats
path: root/src/snap.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2015-04-29 21:14:01 +0000
committerMarc Jeanmougin <mc@M0nst3r.bouyguesbox.fr>2015-04-29 21:14:01 +0000
commit9b7af8caac08ad42a48214518bc004e258eb5873 (patch)
treedcaaac56217eb5da334ab420f5e791cf7eb70f23 /src/snap.cpp
parentBetter solution picking (diff)
parentcorrected test file (diff)
downloadinkscape-9b7af8caac08ad42a48214518bc004e258eb5873.tar.gz
inkscape-9b7af8caac08ad42a48214518bc004e258eb5873.zip
bzr merge lp:~mc.../inkscape/SelContainer
The main change of this branch is that the container for selections is now a std::vector and not a GSList. This change propagates in most of the codebase. Normally, there are no changes of semantics, except the following: -> childList is now in the intuitive order (childList()[0] is now firstChild) -> sp_selection_paste_impl is now in the opposite order (change is local to selection-chemistry.cpp, and simplify a few things there) -> selection.setReprList now takes the list in the opposite order. It was always the case (the list was always reversed before handing to it) -> a few comparison functions now work "the c++ way": the C way was to return -1 if a<b, 0 if a==b and 1 if a>b, now they return (bool)(a<b) so they can be used with std::sort (bzr r14074)
Diffstat (limited to 'src/snap.cpp')
-rw-r--r--src/snap.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/snap.cpp b/src/snap.cpp
index 96b5ab53c..30441ca0b 100644
--- a/src/snap.cpp
+++ b/src/snap.cpp
@@ -43,7 +43,7 @@ SnapManager::SnapManager(SPNamedView const *v) :
object(this, 0),
snapprefs(),
_named_view(v),
- _rotation_center_source_items(NULL),
+ _rotation_center_source_items(std::vector<SPItem*>()),
_guide_to_ignore(NULL),
_desktop(NULL),
_snapindicator(true),
@@ -1013,7 +1013,7 @@ void SnapManager::setup(SPDesktop const *desktop,
_snapindicator = snapindicator;
_unselected_nodes = unselected_nodes;
_guide_to_ignore = guide_to_ignore;
- _rotation_center_source_items = NULL;
+ _rotation_center_source_items.clear();
}
void SnapManager::setup(SPDesktop const *desktop,
@@ -1031,7 +1031,7 @@ void SnapManager::setup(SPDesktop const *desktop,
_snapindicator = snapindicator;
_unselected_nodes = unselected_nodes;
_guide_to_ignore = guide_to_ignore;
- _rotation_center_source_items = NULL;
+ _rotation_center_source_items.clear();
}
/// Setup, taking the list of items to ignore from the desktop's selection.
@@ -1049,13 +1049,13 @@ void SnapManager::setupIgnoreSelection(SPDesktop const *desktop,
_snapindicator = snapindicator;
_unselected_nodes = unselected_nodes;
_guide_to_ignore = guide_to_ignore;
- _rotation_center_source_items = NULL;
+ _rotation_center_source_items.clear();
_items_to_ignore.clear();
Inkscape::Selection *sel = _desktop->selection;
- GSList const *items = sel->itemList();
- for (GSList *i = const_cast<GSList*>(items); i; i = i->next) {
- _items_to_ignore.push_back(static_cast<SPItem const *>(i->data));
+ std::vector<SPItem*> const items = sel->itemList();
+ for (std::vector<SPItem*>::const_iterator i=items.begin();i!=items.end();i++) {
+ _items_to_ignore.push_back(*i);
}
}