Crash switching back to document paint server (paint servers dialog)
Steps to reproduce:
- open Inkscape
- create a rectangle
- add a pattern (either in fill and stroke dialog, or paint servers dialog)
- open paint servers dialog (close and reopen if it was already open)
- switch to a different pattern/paint server, then switch back to the first one
What happened?
Thread 1 "inkscape" received signal SIGSEGV, Segmentation fault.
SPObject::getRepr (this=this@entry=0x0) at ../src/object/sp-object.cpp:253
253 return repr;
(gdb) bt
#0 SPObject::getRepr() (this=this@entry=0x0) at ../src/object/sp-object.cpp:253
#1 0x00007ffff74cfd26 in Inkscape::UI::Dialog::PaintServersDialog::on_item_activated(Gtk::TreePath const&) (this=0x55555b2803d0, path=...) at ../src/ui/dialog/paint-servers.cpp:448
#2 0x00007ffff74d4237 in sigc::bound_mem_functor1<void, Inkscape::UI::Dialog::PaintServersDialog, Gtk::TreePath const&>::operator()(Gtk::TreePath const&) const (_A_a1=..., this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/limit_reference.h:93
#3 sigc::adaptor_functor<sigc::bound_mem_functor1<void, Inkscape::UI::Dialog::PaintServersDialog, Gtk::TreePath const&> >::operator()<Gtk::TreePath const&>(Gtk::TreePath const&) const (_A_arg1=..., this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89
#4 sigc::internal::slot_call1<sigc::bound_mem_functor1<void, Inkscape::UI::Dialog::PaintServersDialog, Gtk::TreePath const&>, void, Gtk::TreePath const&>::call_it(sigc::internal::slot_rep*, Gtk::TreePath const&) (rep=<optimised out>, a_1=...) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:170
#5 0x00007ffff467c434 in sigc::slot1<void, Gtk::TreePath const&>::operator()(Gtk::TreePath const&) const (_A_a1=..., this=0x55555b261688) at /usr/include/sigc++-2.0/sigc++/functors/slot_base.h:335
#6 (anonymous namespace)::IconView_signal_item_activated_callback(GtkIconView*, GtkTreePath*, void*) (self=<optimised out>, p0=0x55555b720e80, data=0x55555b261680) at iconview.cc:257
What should have happened?
- no crash. Probably the paint server should disappear once it has been removed from the dialog (and optionally it should appear at the top once it has been added, without needing to reopen).
Version info
- Inkscape 1.2-alpha1 (f35febdb, 2022-03-09) Linux Mint 20
- Inkscape 1.1.2 (ccedf6bf22, 2022-02-24) Linux Mint 20
- Inkscape 1.0.2 (f38d80df, 2021-05-16) Linux Mint 20 (so probably always existed? Not going for a bisection)