summaryrefslogtreecommitdiffstats
path: root/src/sp-item-group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp-item-group.cpp')
-rw-r--r--src/sp-item-group.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp
index 4fc1608cf..aafd48966 100644
--- a/src/sp-item-group.cpp
+++ b/src/sp-item-group.cpp
@@ -36,7 +36,6 @@
#include "sp-mask.h"
#include "sp-path.h"
#include "box3d.h"
-#include "box3d-side.h"
static void sp_group_class_init (SPGroupClass *klass);
static void sp_group_init (SPGroup *group);
@@ -328,6 +327,12 @@ sp_item_group_ungroup (SPGroup *group, GSList **children, bool do_done)
SPItem *pitem = SP_ITEM (SP_OBJECT_PARENT (gitem));
Inkscape::XML::Node *prepr = SP_OBJECT_REPR (pitem);
+ if (SP_IS_BOX3D(gitem)) {
+ group = box3d_convert_to_group(SP_BOX3D(gitem));
+ gitem = SP_ITEM(group);
+ grepr = SP_OBJECT_REPR(gitem);
+ }
+
/* Step 1 - generate lists of children objects */
GSList *items = NULL;
GSList *objects = NULL;
@@ -337,13 +342,6 @@ sp_item_group_ungroup (SPGroup *group, GSList **children, bool do_done)
SPItem *citem = SP_ITEM (child);
- if (SP_IS_BOX3D_SIDE(child)) {
- Inkscape::XML::Node *repr = SP_OBJECT_REPR(child);
- // FIXME: This doesn't remove the attribute "inkscape:box3dsidetype". Why?
- repr->setAttribute("inkscape:box3dsidetype", NULL);
- repr->setAttribute("sodipodi:type", NULL);
- }
-
/* Merging of style */
// this converts the gradient/pattern fill/stroke, if any, to userSpaceOnUse; we need to do
// it here _before_ the new transform is set, so as to use the pre-transform bbox