Crash on Selection::_emitChanged()
Summary:
There is a rare crash on desktop removal which could be related to signals.
Steps to reproduce:
The crash steps is pretty involved:
- Open a lot of dialogs.
- Close them all.
- Spam Ctrl+Shift+{W,E,R,T,Y,U}, occasionally lifting Ctrl or Shift.
What happened?
0# Inkscape::Application::crash_handler(int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 1# 0x0000000000044190 in /lib64/libc.so.6 2# sigc::internal::signal_emit0::emit(sigc::internal::signal_impl*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 3# Inkscape::Selection::_emitChanged(bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 4# Inkscape::Application::remove_desktop(SPDesktop*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 5# SPDesktopWidget::on_unrealize() in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 6# Gtk::Widget_Class::unrealize_callback(_GtkWidget*) in /usr/lib64/libgtkmm-3.0.so.1 7# 0x000000000001884E in /usr/lib64/libgobject-2.0.so.0 8# 0x000000000002DA64 in /usr/lib64/libgobject-2.0.so.0 9# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 10# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 11# gtk_widget_unrealize in /usr/lib64/libgtk-3.so.0 12# 0x00000000000D9DB0 in /usr/lib64/libgtk-3.so.0 13# 0x0000000000350FFC in /usr/lib64/libgtk-3.so.0 14# 0x000000000001884E in /usr/lib64/libgobject-2.0.so.0 15# 0x000000000002DA64 in /usr/lib64/libgobject-2.0.so.0 16# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 17# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 18# gtk_widget_unrealize in /usr/lib64/libgtk-3.so.0 19# 0x000000000035BCA9 in /usr/lib64/libgtk-3.so.0 20# Gtk::Container_Class::forall_vfunc_callback(_GtkContainer*, int, void (*)(_GtkWidget*, void*), void*) in /usr/lib64/libgtkmm-3.0.so.1 21# 0x0000000000350FFC in /usr/lib64/libgtk-3.so.0 22# 0x000000000035F3D7 in /usr/lib64/libgtk-3.so.0 23# Gtk::Widget_Class::unrealize_callback(_GtkWidget*) in /usr/lib64/libgtkmm-3.0.so.1 24# g_closure_invoke in /usr/lib64/libgobject-2.0.so.0 25# 0x000000000002C4B4 in /usr/lib64/libgobject-2.0.so.0 26# 0x000000000002D8E2 in /usr/lib64/libgobject-2.0.so.0 27# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 28# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 29# gtk_widget_unrealize in /usr/lib64/libgtk-3.so.0 30# 0x000000000034F428 in /usr/lib64/libgtk-3.so.0 31# 0x0000000000362D62 in /usr/lib64/libgtk-3.so.0 32# 0x00000000000CD77F in /usr/lib64/libgtk-3.so.0 33# g_object_run_dispose in /usr/lib64/libgobject-2.0.so.0 34# Gtk::Window::_release_c_instance() in /usr/lib64/libgtkmm-3.0.so.1 35# Gtk::ApplicationWindow::~ApplicationWindow() in /usr/lib64/libgtkmm-3.0.so.1 36# InkscapeWindow::~InkscapeWindow() in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 37# InkscapeWindow::~InkscapeWindow() in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 38# InkscapeApplication::destroy_window(InkscapeWindow*, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 39# InkscapeWindow::on_delete_event(_GdkEventAny*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.3.0 40# Gtk::Widget_Class::delete_event_callback(_GtkWidget*, _GdkEventAny*) in /usr/lib64/libgtkmm-3.0.so.1 41# 0x000000000009FCE2 in /usr/lib64/libgtk-3.so.0 42# 0x0000000000018914 in /usr/lib64/libgobject-2.0.so.0 43# 0x000000000002CCC4 in /usr/lib64/libgobject-2.0.so.0 44# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 45# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 46# 0x0000000000345C1C in /usr/lib64/libgtk-3.so.0 47# gtk_main_do_event in /usr/lib64/libgtk-3.so.0 48# 0x0000000000041825 in /usr/lib64/libgdk-3.so.0 49# 0x00000000000762B2 in /usr/lib64/libgdk-3.so.0 50# 0x000000000005EB96 in /usr/lib64/libglib-2.0.so.0 51# 0x0000000000061C9F in /usr/lib64/libglib-2.0.so.0 52# g_main_context_iteration in /usr/lib64/libglib-2.0.so.0 53# g_application_run in /usr/lib64/libgio-2.0.so.0 54# main in /usr/bin/inkscape 55# 0x000000000002AD14 in /lib64/libc.so.6 56# __libc_start_main in /lib64/libc.so.6 57# _start in /usr/bin/inkscape
System info
Inkscape 1.4.3 (168cca90f1, 2026-04-12) Compile (Run)
GLib version: 2.86.4
GTK version: 3.24.51 (3.24.51)
glibmm version: 2.66.7
gtkmm version: 3.24.10
libxml2 version: 2.15.1
libxslt version: 1.1.45
Cairo version: 1.18.4 (1.18.4)
Pango version: 1.57.0 (1.57.0)
HarfBuzz version: 12.3.2 (12.3.2)
OS version: Slackware 15.0 x86_64 (post 15.0 -current)What should have happened?
No crash
Version info
Inkscape 1.4.3 (168cca90f1, 2026-04-12)
Compile (Run)
GLib version: 2.86.4
GTK version: 3.24.51 (3.24.51)
glibmm version: 2.66.7
gtkmm version: 3.24.10
libxml2 version: 2.15.1
libxslt version: 1.1.45
Cairo version: 1.18.4 (1.18.4)
Pango version: 1.57.0 (1.57.0)
HarfBuzz version: 12.3.2 (12.3.2)
OS version: Slackware 15.0 x86_64 (post 15.0 -current)Edited by Willy (Wen-Wei) Kao