diff options
| author | Marc Jeanmougin <marc@jeanmougin.fr> | 2015-05-02 01:47:39 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marcjeanmougin@free.fr> | 2015-05-02 01:47:39 +0000 |
| commit | 280053e5ddfcdf158f62d2d6a72681b3092d2168 (patch) | |
| tree | cac1af19e44cee72053ad5b91829596eee4a03a9 /src | |
| parent | fixed selection after ungroup (diff) | |
| download | inkscape-280053e5ddfcdf158f62d2d6a72681b3092d2168.tar.gz inkscape-280053e5ddfcdf158f62d2d6a72681b3092d2168.zip | |
Fixed comparison function used in sorts
(bzr r14085)
Diffstat (limited to 'src')
| -rw-r--r-- | src/selection-chemistry.cpp | 6 | ||||
| -rw-r--r-- | src/seltrans.cpp | 2 | ||||
| -rw-r--r-- | src/sp-object.cpp | 4 | ||||
| -rw-r--r-- | src/sp-object.h | 1 | ||||
| -rw-r--r-- | src/ui/clipboard.cpp | 2 |
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; |
