summaryrefslogtreecommitdiffstats
path: root/src/box3d-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/box3d-context.cpp')
-rw-r--r--src/box3d-context.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/box3d-context.cpp b/src/box3d-context.cpp
index 6eaedfb78..0bcf9ffa4 100644
--- a/src/box3d-context.cpp
+++ b/src/box3d-context.cpp
@@ -203,6 +203,14 @@ void sp_3dbox_context_selection_changed(Inkscape::Selection *selection, gpointer
ec->shape_repr = shape_repr;
Inkscape::GC::anchor(shape_repr);
sp_repr_add_listener(shape_repr, &ec_shape_repr_events, ec);
+
+ // FIXME: The following really belongs in sp_3dbox_build. But when undoing & redoing the
+ // creation of a 3D box, we have no means of accessing the recreated paths, which
+ // seem to be built after the box itself. Thus we need to check for untracked paths
+ // here and hook them to the box if the latter was created by a redo operation.
+ if (SP_IS_3DBOX(item)) {
+ sp_3dbox_link_to_existing_paths (SP_3DBOX(item), shape_repr);
+ }
}
}
}
@@ -577,7 +585,7 @@ static void sp_3dbox_finish(SP3DBoxContext *rc)
sp_desktop_selection(desktop)->set(rc->item);
sp_document_done(sp_desktop_document(desktop), SP_VERB_CONTEXT_3DBOX,
- _("Create 3d box"));
+ _("Create 3D box"));
rc->item = NULL;
}