Crash when undoing break path at selected node
Summary:
Reproducible crash after doing the following steps
Steps to reproduce:
- Open Inkscape
- Create a new document
- Draw two squares using the square tool
- Select both the squares and convert them to paths using Path->Object to Path
- Using the node tool, select two corners holding shift
- Press the Break path at selected nodes button
- Press the Join selected nodes button
- Undo twice (Cmd+Z)
What happened?
Inkscape crashes with trace:
0# Inkscape::Application::crash_handler(int) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 1# _sigtramp in /usr/lib/system/libsystem_platform.dylib 2# SPItem::i2dt_affine() const in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 3# KnotHolderEntity::update_knot() in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 4# BlurKnotHolderEntity::update_knot() in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 5# KnotHolder::update_knots() in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 6# Inkscape::UI::ShapeEditor::set_item(SPItem*) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 7# Inkscape::XML::CompositeNodeObserver::notifyAttributeChanged(Inkscape::XML::Node&, unsigned int, Inkscape::Util::ptr_shared, Inkscape::Util::ptr_shared) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 8# Inkscape::XML::SimpleNode::setAttributeImpl(char const*, char const*) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 9# sp_repr_undo_log(Inkscape::XML::Event*) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 10# Inkscape::DocumentUndo::undo(SPDocument*) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.3.2.0.dylib 11# (anonymous namespace)::SimpleAction_signal_activate_callback(_GSimpleAction*, _GVariant*, void*) in /Applications/Inkscape.app/Contents/Resources/lib/libgiomm-2.4.1.dylib 12# g_closure_invoke in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib 13# signal_emit_unlocked_R in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib 14# g_signal_emit_valist in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib 15# g_signal_emit in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib 16# g_simple_action_activate in /Applications/Inkscape.app/Contents/Resources/lib/libgio-2.0.0.dylib 17# Gio::Action_Class::activate_vfunc_callback(_GAction*, _GVariant*) in /Applications/Inkscape.app/Contents/Resources/lib/libgiomm-2.4.1.dylib 18# Gio::ActionGroup_Class::activate_action_vfunc_callback(_GActionGroup*, char const*, _GVariant*) in /Applications/Inkscape.app/Contents/Resources/lib/libgiomm-2.4.1.dylib 19# gtk_application_accels_activate in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib 20# gtk_window_activate_key in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib 21# gtk_window_key_press_event in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib 22# Gtk::Widget::on_key_press_event(_GdkEventKey*) in /Applications/Inkscape.app/Contents/Resources/lib/libgtkmm-3.0.1.dylib 23# Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) in /Applications/Inkscape.app/Contents/Resources/lib/libgtkmm-3.0.1.dylib 24# _gtk_marshal_BOOLEAN__BOXEDv in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib 25# _g_closure_invoke_va in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib 26# g_signal_emit_valist in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib 27# g_signal_emit in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib 28# gtk_widget_event_internal in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib 29# gtk_propagate_event in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib 30# gtk_main_do_event in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib 31# _gdk_event_emit in /Applications/Inkscape.app/Contents/Resources/lib/libgdk-3.0.dylib 32# gdk_event_dispatch in /Applications/Inkscape.app/Contents/Resources/lib/libgdk-3.0.dylib 33# g_main_context_dispatch in /Applications/Inkscape.app/Contents/Resources/lib/libglib-2.0.0.dylib 34# g_main_context_iterate in /Applications/Inkscape.app/Contents/Resources/lib/libglib-2.0.0.dylib 35# g_main_context_iteration in /Applications/Inkscape.app/Contents/Resources/lib/libglib-2.0.0.dylib 36# g_application_run in /Applications/Inkscape.app/Contents/Resources/lib/libgio-2.0.0.dylib 37# main in /Applications/Inkscape.app/Contents/MacOS/inkscape
System info
Inkscape 1.3.2 (091e20e, 2023-11-25)GLib version: 2.76.3
GTK version: 3.24.38
glibmm version: 2.66.6
gtkmm version: 3.24.7
libxml2 version: 2.11.4
libxslt version: 1.1.35
Cairo version: 1.18.0
Pango version: 1.50.14
HarfBuzz version: 8.0.1
OS version: macOS 14.4.1 (23E224) arm64
What should have happened?
No crash
Version info
Inkscape 1.3.2 (091e20e, 2023-11-25)
GLib version: 2.76.3
GTK version: 3.24.38
glibmm version: 2.66.6
gtkmm version: 3.24.7
libxml2 version: 2.11.4
libxslt version: 1.1.35
Cairo version: 1.18.0
Pango version: 1.50.14
HarfBuzz version: 8.0.1
OS version: macOS 14.4.1 (23E224) arm64