summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2015-05-02 01:47:39 +0000
committerMarc Jeanmougin <marcjeanmougin@free.fr>2015-05-02 01:47:39 +0000
commit280053e5ddfcdf158f62d2d6a72681b3092d2168 (patch)
treecac1af19e44cee72053ad5b91829596eee4a03a9 /src
parentfixed selection after ungroup (diff)
downloadinkscape-280053e5ddfcdf158f62d2d6a72681b3092d2168.tar.gz
inkscape-280053e5ddfcdf158f62d2d6a72681b3092d2168.zip
Fixed comparison function used in sorts
(bzr r14085)
Diffstat (limited to 'src')
-rw-r--r--src/selection-chemistry.cpp6
-rw-r--r--src/seltrans.cpp2
-rw-r--r--src/sp-object.cpp4
-rw-r--r--src/sp-object.h1
-rw-r--r--src/ui/clipboard.cpp2
5 files changed, 10 insertions, 5 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
index c30d22503..68adf5381 100644
--- a/src/selection-chemistry.cpp
+++ b/src/selection-chemistry.cpp
@@ -326,7 +326,7 @@ static void sp_selection_copy_impl(std::vector<SPItem*> const &items, std::vecto
{
// Sort items:
std::vector<SPItem*> sorted_items(items);
- sort(sorted_items.begin(),sorted_items.end(),sp_object_compare_position);
+ sort(sorted_items.begin(),sorted_items.end(),sp_object_compare_position_bool);
// Copy item reprs:
for (std::vector<SPItem*>::const_iterator i = sorted_items.begin(); i != sorted_items.end(); i++) {
@@ -3245,7 +3245,7 @@ sp_selection_tile(SPDesktop *desktop, bool apply)
std::vector<SPItem*> items (selection->itemList());
- sort(items.begin(),items.end(),sp_object_compare_position);
+ sort(items.begin(),items.end(),sp_object_compare_position_bool);
// bottommost object, after sorting
SPObject *parent = items[0]->parent;
@@ -3836,7 +3836,7 @@ void sp_selection_set_mask(SPDesktop *desktop, bool apply_clip_path, bool apply_
std::vector<SPItem*> items(selection->itemList());
- sort(items.begin(),items.end(),sp_object_compare_position);
+ sort(items.begin(),items.end(),sp_object_compare_position_bool);
// See lp bug #542004
selection->clear();
diff --git a/src/seltrans.cpp b/src/seltrans.cpp
index bfb8d53f1..f7562923f 100644
--- a/src/seltrans.cpp
+++ b/src/seltrans.cpp
@@ -529,7 +529,7 @@ void Inkscape::SelTrans::stamp()
} else {
/* Build cache */
l = selection->itemList();
- sort(l.begin(),l.end(),sp_object_compare_position);
+ sort(l.begin(),l.end(),sp_object_compare_position_bool);
_stamp_cache = l;
}
diff --git a/src/sp-object.cpp b/src/sp-object.cpp
index d4b8a15c0..0bb8c240f 100644
--- a/src/sp-object.cpp
+++ b/src/sp-object.cpp
@@ -357,6 +357,10 @@ int sp_object_compare_position(SPObject const *first, SPObject const *second)
return result;
}
+bool sp_object_compare_position_bool(SPObject const *first, SPObject const *second){
+ return sp_object_compare_position(first,second)<0;
+}
+
SPObject *SPObject::appendChildRepr(Inkscape::XML::Node *repr) {
if ( !cloned ) {
diff --git a/src/sp-object.h b/src/sp-object.h
index f5d47be05..7bc02fad5 100644
--- a/src/sp-object.h
+++ b/src/sp-object.h
@@ -876,6 +876,7 @@ public:
* -1 first object's position is less than the second \endverbatim
*/
int sp_object_compare_position(SPObject const *first, SPObject const *second);
+bool sp_object_compare_position_bool(SPObject const *first, SPObject const *second);
#endif // SP_OBJECT_H_SEEN
diff --git a/src/ui/clipboard.cpp b/src/ui/clipboard.cpp
index a3620b754..d6cf1f980 100644
--- a/src/ui/clipboard.cpp
+++ b/src/ui/clipboard.cpp
@@ -674,7 +674,7 @@ void ClipboardManagerImpl::_copySelection(Inkscape::Selection *selection)
// copy the representation of the items
std::vector<SPItem*> sorted_items(itemlist);
- sort(sorted_items.begin(),sorted_items.end(),sp_object_compare_position);
+ sort(sorted_items.begin(),sorted_items.end(),sp_object_compare_position_bool);
for(std::vector<SPItem*>::const_iterator i=sorted_items.begin();i!=sorted_items.end();i++){
SPItem *item = *i;