summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2018-09-21 12:33:51 +0000
committerMarc Jeanmougin <marc@jeanmougin.fr>2018-09-21 12:33:51 +0000
commitb983e702f5de14f3e03c47edb6d489919890ee40 (patch)
tree15ee4a2baee05760516f8f2778501a6aa1d8c59a /src
parentadjust GDK_SCROLL_SMOOTH for MacBook Trackpad (diff)
parentfix bug 1791694 (diff)
downloadinkscape-b983e702f5de14f3e03c47edb6d489919890ee40.tar.gz
inkscape-b983e702f5de14f3e03c47edb6d489919890ee40.zip
Merge branch 'fix_bug_#1791694' of gitlab.com:Xortex/inkscape
Diffstat (limited to 'src')
-rwxr-xr-x[-rw-r--r--]src/object/sp-lpe-item.cpp19
-rwxr-xr-xsrc/selection-chemistry.cpp9
2 files changed, 9 insertions, 19 deletions
diff --git a/src/object/sp-lpe-item.cpp b/src/object/sp-lpe-item.cpp
index d6eaf7b6e..819bc7a58 100644..100755
--- a/src/object/sp-lpe-item.cpp
+++ b/src/object/sp-lpe-item.cpp
@@ -947,25 +947,6 @@ SPLPEItem::applyToClipPathOrMask(SPItem *clip_mask, SPItem* to, Inkscape::LivePa
shape->setAttribute("inkscape:original-d", nullptr);
} else {
SPCurve * c = nullptr;
- // If item is a SPRect, convert it to path first:
- if ( dynamic_cast<SPRect *>(shape) ) {
- SPDesktop *desktop = SP_ACTIVE_DESKTOP;
- if (desktop) {
- Inkscape::Selection *sel = desktop->getSelection();
- if ( sel && !sel->isEmpty() ) {
- sel->clear();
- sel->add(SP_ITEM(shape));
- sel->toCurves();
- SPItem* item = sel->singleItem();
- shape = dynamic_cast<SPShape *>(item);
- if (!shape) {
- return;
- }
- sel->clear();
- sel->add(this);
- }
- }
- }
c = shape->getCurve();
if (c) {
bool success = false;
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp
index b2a54244a..402fab372 100755
--- a/src/selection-chemistry.cpp
+++ b/src/selection-chemistry.cpp
@@ -3951,6 +3951,15 @@ void ObjectSet::setClipGroup()
sort(items_.begin(),items_.end(),sp_object_compare_position_bool);
+ //convert any rects to paths
+ for (std::vector<SPItem*>::const_iterator i = items_.begin(); i != items_.end(); ++i) {
+ clear();
+ if (dynamic_cast<SPRect *>(*i)) {
+ add(*i);
+ toCurves();
+ }
+ }
+
// See lp bug #542004
clear();