using Gtk::Switch causes segmentation faults on window close
When you use Gtk::Switch it causes segmentation fault on window close in some situation.
Example code:
example_seg.cpp - causes segmentation fault on window close.
example_ok.cpp - runs ok
Compling
g++ -g example_seg.cpp -o example_seg `pkg-config gtkmm-3.0 --cflags --libs`
g++ -g example_ok.cpp -o example_ok `pkg-config gtkmm-3.0 --cflags --libs`
When defining variables in order:
Gtk::Switch sw;
Gtk::Window w;
as in: example_ok.cpp there is no error.
When defining variables in order:
Gtk::Window w;
Gtk::Switch sw;
as in: example_seg.cpp the applications crashes with segmentation fault when application window is closed.
gdb bt:
(gdb) bt
#0 0x00007ffff73cbd86 in () at /usr/lib/libgtk-3.so.0
#1 0x00007ffff6a7a43c in g_cclosure_marshal_VOID__FLAGSv () at /usr/lib/libgobject-2.0.so.0
#2 0x00007ffff6a9898a in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#3 0x00007ffff6a98b00 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#4 0x00007ffff7477fa0 in () at /usr/lib/libgtk-3.so.0
#5 0x00007ffff74692d8 in () at /usr/lib/libgtk-3.so.0
#6 0x00007ffff746ef4a in gtk_widget_unparent () at /usr/lib/libgtk-3.so.0
#7 0x00007ffff71de18a in () at /usr/lib/libgtk-3.so.0
#8 0x00007ffff6a7a7de in g_cclosure_marshal_VOID__OBJECTv () at /usr/lib/libgobject-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
#9 0x00007ffff6a9898a in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff6a98b00 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff7235868 in gtk_container_remove () at /usr/lib/libgtk-3.so.0
#12 0x00007ffff7475645 in () at /usr/lib/libgtk-3.so.0
#13 0x00007ffff6a7d89a in g_object_run_dispose () at /usr/lib/libgobject-2.0.so.0
#14 0x00007ffff7e5fda1 in Gtk::Object::_release_c_instance() () at /usr/lib/libgtkmm-3.0.so.1
#15 0x00007ffff7e084a8 in Gtk::Switch::~Switch() () at /usr/lib/libgtkmm-3.0.so.1
#16 0x00005555555552b6 in main(int, char**) (argc=1, argv=0x7fffffffe288) at example_seg.cpp:7
Other information:
- OS:
Arch Linux 5.9.14-arch1-1
- gtkmm version:
gtkmm3 3.24.3-1
- gtk vesion:
gtk3 1:3.24.24-1
- gcc version:
gcc version 10.2.0