summaryrefslogtreecommitdiffstats
path: root/src/verbs.cpp
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2019-11-01 13:50:57 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-11-01 13:50:57 +0000
commit0b6b395ee6f16e42bf36e691c91af83fa95d97e1 (patch)
treed403165773ed5adf708e11c794bdf80cc5ad3a22 /src/verbs.cpp
parentDutch translation update (diff)
downloadinkscape-0b6b395ee6f16e42bf36e691c91af83fa95d97e1.tar.gz
inkscape-0b6b395ee6f16e42bf36e691c91af83fa95d97e1.zip
Improve clip LPE
Fixes: https://gitlab.com/inkscape/inbox/issues/868 https://gitlab.com/inkscape/inbox/issues/867 https://gitlab.com/inkscape/inbox/issues/866
Diffstat (limited to 'src/verbs.cpp')
-rw-r--r--src/verbs.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/verbs.cpp b/src/verbs.cpp
index 2c10cb6cf..49ee61aab 100644
--- a/src/verbs.cpp
+++ b/src/verbs.cpp
@@ -1551,7 +1551,6 @@ void ObjectVerb::perform( SPAction *action, void *data)
center = *sel->center();
else
center = bbox->midpoint();
-
switch (reinterpret_cast<std::size_t>(data)) {
case SP_VERB_OBJECT_ROTATE_90_CW:
sel->rotate90(false);
@@ -1586,13 +1585,17 @@ void ObjectVerb::perform( SPAction *action, void *data)
break;
case SP_VERB_OBJECT_SET_INVERSE_MASK:
sel->setMask(false, false);
+ Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), false);
Inkscape::LivePathEffect::sp_inverse_powermask(sp_action_get_selection(action));
+ Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), true);
break;
case SP_VERB_OBJECT_EDIT_MASK:
sel->editMask(false);
break;
case SP_VERB_OBJECT_UNSET_MASK:
+ Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), false);
Inkscape::LivePathEffect::sp_remove_powermask(sp_action_get_selection(action));
+ Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), true);
sel->unsetMask(false);
break;
case SP_VERB_OBJECT_SET_CLIPPATH:
@@ -1600,7 +1603,9 @@ void ObjectVerb::perform( SPAction *action, void *data)
break;
case SP_VERB_OBJECT_SET_INVERSE_CLIPPATH:
sel->setMask(true, false);
+ Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), false);
Inkscape::LivePathEffect::sp_inverse_powerclip(sp_action_get_selection(action));
+ Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), true);
break;
case SP_VERB_OBJECT_CREATE_CLIP_GROUP:
sel->setClipGroup();
@@ -1609,7 +1614,9 @@ void ObjectVerb::perform( SPAction *action, void *data)
sel->editMask(true);
break;
case SP_VERB_OBJECT_UNSET_CLIPPATH:
+ Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), false);
Inkscape::LivePathEffect::sp_remove_powerclip(sp_action_get_selection(action));
+ Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), true);
sel->unsetMask(true);
break;
default: