Command dialog: Open PDF file fails, crashes on cancel.
Steps to reproduce:
Opened Command Dialog: Try to open a PDF files, it fails to open. Try to cancel opening a PDF file, crash.
Inkscape Version and Operating System:
std::cout << " CPActionFullButton: " << CPActionFullButton->get_name() << std::endl;
- Inkscape Version: Inkscape 1.3-beta (0245330b, 2023-07-15, custom)
- Operating System: Fedora
- Operating System version: 37
Crash on cancel:
#0 file_open(Glib::VariantBase const&, InkscapeApplication*) (value=<optimized out>, app=0x7fffffffd9d0) at ../1.3.x/src/actions/actions-file.cpp:38
#1 0x00007ffff7702bbd in sigc::pointer_functor2<Glib::VariantBase const&, InkscapeApplication*, void>::operator()(Glib::VariantBase const&, InkscapeApplication* const&) const
(_A_a2=<optimized out>, _A_a1=<optimized out>, this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:147
#2 sigc::adaptor_functor<sigc::pointer_functor2<Glib::VariantBase const&, InkscapeApplication*, void> >::operator()<Glib::VariantBase const&, InkscapeApplication*&>(Glib::VariantBase const&, InkscapeApplication*&) const
(_A_arg2=<optimized out>, _A_arg1=<optimized out>, this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:108
#3 sigc::bind_functor<-1, sigc::pointer_functor2<Glib::VariantBase const&, InkscapeApplication*, void>, InkscapeApplication*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<Glib::VariantBase const&>(Glib::VariantBase const&) (_A_arg1=<optimized out>, this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1136
#4 sigc::internal::slot_call1<sigc::bind_functor<-1, sigc::pointer_functor2<Glib::VariantBase const&, InkscapeApplication*, void>, InkscapeApplication*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Glib::VariantBase const&>::call_it(sigc::internal::slot_rep*, Glib::VariantBase const&) (rep=<optimized out>, a_1=<optimized out>) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:170
#5 0x00007ffff4562064 in sigc::slot1<void, Glib::ustring const&>::operator()(Glib::ustring const&) const (_A_a1=..., this=0x5c3f68) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:665
#6 (anonymous namespace)::SimpleAction_signal_activate_callback(GSimpleAction*, GVariant*, void*) (self=<optimized out>, p0=0x6ebc0c0, data=0x5c3f60) at ../untracked/gio/giomm/simpleaction.cc:88
#7 0x00007ffff5b07060 in g_closure_invoke (closure=0x5c3fb0, return_value=0x0, n_param_values=2, param_values=0x7fffffffc370, invocation_hint=0x7fffffffc2f0) at ../gobject/gclosure.c:832
#8 0x00007ffff5b34234 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x77c3a0, detail=detail@entry=0, instance=instance@entry=0x6ce050, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffc370) at ../gobject/gsignal.c:3867
#9 0x00007ffff5b244da in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffc530) at ../gobject/gsignal.c:3549
#10 0x00007ffff5b246f3 in g_signal_emit (instance=instance@entry=0x6ce050, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3606
#11 0x00007ffff55d6495 in g_simple_action_activate (action=0x6ce050, parameter=0x6ebc0c0) at ../gio/gsimpleaction.c:227
#12 0x00007ffff55c98c3 in g_action_activate (action=0x6ce050, parameter=0x6ebc0c0) at ../gio/gaction.c:399
#13 0x00007ffff72ae236 in Gio::Action::activate<Glib::ustring>(Glib::ustring const&) (this=0x5c3c58, parameter=...) at /usr/include/giomm-2.4/giomm/action.h:706
#14 0x00007ffff72aa451 in Inkscape::UI::Dialog::CommandPalette::operate_recent_file(Glib::ustring const&, bool) (this=this@entry=0x1410600, uri=..., import=import@entry=false) at /usr/include/glibmm-2.4/glibmm/refptr.h:259
#15 0x00007ffff72add7d in Inkscape::UI::Dialog::CommandPalette::on_row_activated(Gtk::ListBoxRow*) (this=0x1410600, activated_row=<optimized out>) at ../1.3.x/src/ui/dialog/command-palette.cpp:514
#16 0x00007ffff72af509 in sigc::bound_mem_functor1<void, Inkscape::UI::Dialog::CommandPalette, Gtk::ListBoxRow*>::operator()(Gtk::ListBoxRow* const&) const (this=<optimized out>, _A_a1=<optimized out>)
at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:2066
#17 0x00007ffff72af51b in sigc::adaptor_functor<sigc::bound_mem_functor1<void, Inkscape::UI::Dialog::CommandPalette, Gtk::ListBoxRow*> >::operator()<Gtk::ListBoxRow* const&>(Gtk::ListBoxRow* const&) const
(_A_arg1=<optimized out>, this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89
#18 sigc::internal::slot_call1<sigc::bound_mem_functor1<void, Inkscape::UI::Dialog::CommandPalette, Gtk::ListBoxRow*>, void, Gtk::ListBoxRow*>::call_it(sigc::internal::slot_rep*, Gtk::ListBoxRow* const&)
(rep=<optimized out>, a_1=<optimized out>) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:170
#19 0x00007ffff48b728d in sigc::slot1<void, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
(_A_a1=..., this=0x1b2aef8) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:665
#20 (anonymous namespace)::ListBox_signal_row_selected_callback(GtkListBox*, GtkListBoxRow*, void*) (self=<optimized out>, p0=0x19ed1a0, data=0x1b2aef0) at ../untracked/gtk/gtkmm/listbox.cc:233
#21 0x00007ffff5b07060 in g_closure_invoke (closure=0x1a5adf0, return_value=0x0, n_param_values=2, param_values=0x7fffffffc9a0, invocation_hint=0x7fffffffc920) at ../gobject/gclosure.c:832
#22 0x00007ffff5b34234 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x18e5c50, detail=detail@entry=0, instance=instance@entry=0x1438960, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffc9a0) at ../gobject/gsignal.c:3867
#23 0x00007ffff5b244da in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffcb60) at ../gobject/gsignal.c:3549
#24 0x00007ffff5b246f3 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3606
#25 0x00007ffff3c021c4 in gtk_list_box_select_and_activate_full (grab_focus=1, row=0x19ed1a0, box=0x1438960) at ../gtk/gtklistbox.c:1820
#26 gtk_list_box_select_and_activate_full (grab_focus=1, row=0x19ed1a0, box=0x1438960) at ../gtk/gtklistbox.c:1812
#27 gtk_list_box_multipress_gesture_released (gesture=<optimized out>, n_press=1, x=<optimized out>, y=<optimized out>, box=0x1438960) at ../gtk/gtklistbox.c:2016
#28 0x00007ffff3a9e185 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv
(closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x13e71b0) at gtk/gtkmarshalers.c:4804
#29 0x00007ffff5b24614 in _g_closure_invoke_va (param_types=0x13e71b0, n_params=<optimized out>, args=0x7fffffffce50, instance=0x18dd350, return_value=0x0, closure=0x1950a20) at ../gobject/gclosure.c:895
#30 g_signal_emit_valist (instance=0x18dd350, signal_id=276, detail=0, var_args=var_args@entry=0x7fffffffce50) at ../gobject/gsignal.c:3456
#31 0x00007ffff5b246f3 in g_signal_emit (instance=instance@entry=0x18dd350, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3606
#32 0x00007ffff3bc0076 in gtk_gesture_multi_press_end (gesture=0x18dd350, sequence=sequence@entry=0x0) at ../gtk/gtkgesturemultipress.c:287
#33 0x00007ffff5b0b906 in g_cclosure_marshal_VOID__BOXEDv (closure=0x13e6b80, return_value=<optimized out>, instance=0x18dd350, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x13e6bb0)
at ../gobject/gmarshal.c:1686
#34 0x00007ffff5b24614 in _g_closure_invoke_va (param_types=0x13e6bb0, n_params=<optimized out>, args=0x7fffffffd170, instance=0x18dd350, return_value=0x0, closure=0x13e6b80) at ../gobject/gclosure.c:895
#35 g_signal_emit_valist (instance=0x18dd350, signal_id=271, detail=0, var_args=var_args@entry=0x7fffffffd170) at ../gobject/gsignal.c:3456
#36 0x00007ffff5b246f3 in g_signal_emit (instance=instance@entry=0x18dd350, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3606
#37 0x00007ffff3bb2057 in _gtk_gesture_set_recognized (sequence=0x0, recognized=0, gesture=0x18dd350) at ../gtk/gtkgesture.c:346
#38 _gtk_gesture_check_recognized (gesture=gesture@entry=0x18dd350, sequence=sequence@entry=0x0) at ../gtk/gtkgesture.c:387
#39 0x00007ffff3bbb8cb in gtk_gesture_handle_event (controller=<optimized out>, event=0x7110b20) at ../gtk/gtkgesture.c:784
#40 0x00007ffff3bc0d0e in gtk_gesture_single_handle_event (controller=0x18dd350, event=0x7110b20) at ../gtk/gtkgesturesingle.c:222
#41 0x00007ffff3b79645 in gtk_event_controller_handle_event (controller=0x18dd350, event=0x7110b20) at ../gtk/gtkeventcontroller.c:230
#42 0x00007ffff3d70375 in _gtk_widget_run_controllers (widget=0x1438960, event=0x7110b20, phase=GTK_PHASE_BUBBLE) at ../gtk/gtkwidget.c:7447
#43 0x00007ffff4933088 in Gtk::Widget::on_button_release_event(_GdkEventButton*) (this=0x195e5d0, release_event=0x7110b20) at ../untracked/gtk/gtkmm/widget.cc:7868
#44 0x00007ffff492c858 in Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) (self=0x1438960, p0=0x7110b20) at ../untracked/gtk/gtkmm/widget.cc:4291
#45 0x00007ffff3a9c838 in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x512570, return_value=0x7fffffffd4f0, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5011f0)
at gtk/gtkmarshalers.c:130
#46 0x00007ffff5b24614 in _g_closure_invoke_va (param_types=0x5011f0, n_params=<optimized out>, args=0x7fffffffd5a0, instance=0x1438960, return_value=0x7fffffffd4f0, closure=0x512570) at ../gobject/gclosure.c:895
#47 g_signal_emit_valist (instance=0x1438960, signal_id=90, detail=0, var_args=var_args@entry=0x7fffffffd5a0) at ../gobject/gsignal.c:3456
#48 0x00007ffff5b246f3 in g_signal_emit (instance=instance@entry=0x1438960, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3606
#49 0x00007ffff3d7fb74 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x1438960, event=0x7110b20) at ../gtk/gtkwidget.c:7812
#50 0x00007ffff3c0c91e in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x1438960) at ../gtk/gtkmain.c:2588
#51 propagate_event (widget=widget@entry=0x19d2e20, event=event@entry=0x7110b20, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../gtk/gtkmain.c:2691
#52 0x00007ffff3c0ca40 in gtk_propagate_event (widget=widget@entry=0x19d2e20, event=event@entry=0x7110b20) at ../gtk/gtkmain.c:2725
#53 0x00007ffff3c0d691 in gtk_main_do_event (event=<optimized out>) at ../gtk/gtkmain.c:1921
#54 gtk_main_do_event (event=<optimized out>) at ../gtk/gtkmain.c:1691
#55 0x00007ffff393a703 in _gdk_event_emit (event=0x7110b20) at ../gdk/gdkevents.c:73
#56 _gdk_event_emit (event=0x7110b20) at ../gdk/gdkevents.c:67
#57 0x00007ffff396d416 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../gdk/wayland/gdkeventsource.c:124
#58 0x00007ffff5715c7f in g_main_dispatch (context=0x492aa0) at ../glib/gmain.c:3454
#59 g_main_context_dispatch (context=0x492aa0) at ../glib/gmain.c:4172
#60 0x00007ffff576c118 in g_main_context_iterate.constprop.0 (context=0x492aa0, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4248
#61 0x00007ffff5712f00 in g_main_context_iteration (context=context@entry=0x492aa0, may_block=may_block@entry=1) at ../glib/gmain.c:4313
#62 0x00007ffff55cdf7d in g_application_run (application=0x50b330, argc=<optimized out>, argv=0x469cb0) at ../gio/gapplication.c:2573
#63 0x0000000000403d35 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/include/glibmm-2.4/glibmm/refptr.h:405
Edited by Tavmjong Bah