summaryrefslogtreecommitdiffstats
path: root/src/shape-editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shape-editor.cpp')
-rw-r--r--src/shape-editor.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/shape-editor.cpp b/src/shape-editor.cpp
index d73e99e7c..f0bec7ba9 100644
--- a/src/shape-editor.cpp
+++ b/src/shape-editor.cpp
@@ -190,7 +190,14 @@ void ShapeEditor::set_item(SPItem *item) {
this->grab_node = -1;
if (item) {
- this->nodepath = sp_nodepath_new(desktop, item, (prefs_get_int_attribute("tools.nodes", "show_handles", 1) != 0));
+ SPLPEItem *lpeitem = SP_LPE_ITEM(item);
+ if (!sp_lpe_item_has_path_effect(lpeitem) ||
+ !sp_lpe_item_get_livepatheffect(lpeitem)->providesKnotholder()) {
+ // only create nodepath if the item either doesn't have an LPE
+ // or the LPE doesn't provide a knotholder itself
+ this->nodepath =
+ sp_nodepath_new(desktop, item, (prefs_get_int_attribute("tools.nodes", "show_handles", 1) != 0));
+ }
if (this->nodepath) {
this->nodepath->shape_editor = this;
}