[go: up one dir, main page]

Ungrouping objects takes excessive amount of time if Layers & Objects dialog is open

Steps to reproduce:

  • open Inkscape
  • open new Layers and Object dialog
  • open provided file (it's a free to use font)
  • select top object (it's a group)
  • ungroup and ungroup again

What happened?

  • Inkscape stops responding

What should have happened?

  • object should be ungrouped

Inkscape Version and Operating System:

  • Inkscape Version: Inkscape 1.2-dev (c0dbea8f, 2022-01-30), Arm64 build
  • Operating System: macOS
  • Operating System version: 12.2

File to test:

Fattern_Outlines.svg

Profiler output:

   0 libgtk-3.0.dylib gtk_tree_store_iter_n_children
   1 libgtk-3.0.dylib gtk_tree_model_iter_n_children
   2 libgtk-3.0.dylib gtk_tree_row_ref_reordered
   3 libgtk-3.0.dylib rows_reordered_marshal
   4 libgobject-2.0.0.dylib g_closure_invoke
   5 libgobject-2.0.0.dylib signal_emit_unlocked_R
   6 libgobject-2.0.0.dylib g_signal_emit_valist
   7 libgobject-2.0.0.dylib g_signal_emit
   8 libgtk-3.0.dylib gtk_tree_model_rows_reordered
   9 libgtk-3.0.dylib gtk_tree_store_move
  10 libinkscape_base.dylib Inkscape::UI::Dialog::ObjectWatcher::moveChild(Inkscape::XML::Node&, Inkscape::XML::Node*) /Users/mike/dev/inkscape/src/ui/dialog/objects.cpp:466
  11 libinkscape_base.dylib Inkscape::UI::Dialog::ObjectWatcher::notifyChildAdded(Inkscape::XML::Node&, Inkscape::XML::Node&, Inkscape::XML::Node*) /Users/mike/dev/inkscape/src/ui/dialog/objects.cpp:515
  12 libinkscape_base.dylib Inkscape::XML::CompositeNodeObserver::notifyChildAdded(Inkscape::XML::Node&, Inkscape::XML::Node&, Inkscape::XML::Node*) /Users/mike/dev/inkscape/src/xml/composite-node-observer.cpp:43
  13 libinkscape_base.dylib Inkscape::XML::SimpleNode::addChild(Inkscape::XML::Node*, Inkscape::XML::Node*) /Users/mike/dev/inkscape/src/xml/simple-node.cpp:459
  14 libinkscape_base.dylib sp_item_group_ungroup(SPGroup*, std::__1::vector<SPItem*, std::__1::allocator<SPItem*> >&, bool) /Users/mike/dev/inkscape/src/object/sp-item-group.cpp:684

Note: the same ungrouping operation will succeed in around 5 seconds if Layers dialog is closed.