Crash on opening SVG with markers which do not have associated path data
<!-- See our full bug reporting guidelines at https://inkscape.org/contribute/report-bugs/ Writing a good bug report will ensure we'll be able to help efficiently. 🙂 --> #### Summary: Inkscape crashed when opening the SVG. #### Steps to reproduce: <!-- Describe what you did (step-by-step) so we can reproduce: --> - open Inkscape with attached SVG #### What happened? Inkscape terminated with error and failed to read svg data. <!-- Summarize the issue/suggestion concisely: --> When opening some svg data which is created by IS itself, it failed to read and terminated with back data as follows: <pre> 0# boost::stacktrace::basic_stacktrace<std::allocator<boost::stacktrace::frame> >::init(unsigned long long, unsigned long long) in libinkscape_base 1# Inkscape::Application::crash_handler(int) in libinkscape_base 2# 0x00007FF69FCC21B2 in inkscape 3# _C_specific_handler in ntdll 4# _chkstk in ntdll 5# _RtlFindCharInUnicodeString in ntdll 6# _KiUserExceptionDispatcher in ntdll 7# sp_css_attr_from_object(SPObject*, unsigned int) in libinkscape_base 8# Inkscape::create_marker_image(Glib::ustring const&, SPDocument*, Gdk::RGBA, Geom::IntPoint, char const*, SPDocument*, Inkscape::Drawing&, std::optional<unsigned int>, bool, double, int) in libinkscape_base 9# Inkscape::UI::Widget::MarkerComboBox::create_marker_image(Geom::IntPoint, char const*, SPDocument*, Inkscape::Drawing&, unsigned int, bool, bool, double) in libinkscape_base 10# Inkscape::UI::Widget::MarkerComboBox::add_markers(std::vector<SPMarker*, std::allocator<SPMarker*> > const&, SPDocument*, int) in libinkscape_base 11# Inkscape::UI::Widget::MarkerComboBox::marker_list_from_doc(SPDocument*, bool) in libinkscape_base 12# Inkscape::UI::Widget::MarkerComboBox::refresh_after_markers_modified() in libinkscape_base 13# Inkscape::UI::Widget::StrokeStyle::_handleDocumentReplaced(SPDesktop*, SPDocument*) in libinkscape_base 14# SPDesktop::setDocument(SPDocument*) in libinkscape_base 15# SPDesktop::change_document(SPDocument*) in libinkscape_base 16# InkscapeApplication::document_swap(InkscapeWindow*, SPDocument*) in libinkscape_base 17# InkscapeApplication::create_window(SPDocument*, bool) in libinkscape_base 18# InkscapeApplication::create_window(Glib::RefPtr<Gio::File> const&) in libinkscape_base 19# file_open_with_window(Glib::VariantBase const&, InkscapeApplication*) in libinkscape_base 20# Gio::SimpleAction::~SimpleAction() in libgiomm_2_4_1 21# _g_closure_invoke in libgobject_2_0_0 22# _g_param_spec_variant in libgobject_2_0_0 23# _g_param_spec_variant in libgobject_2_0_0 24# _g_signal_emit in libgobject_2_0_0 25# _g_simple_action_set_state in libgio_2_0_0 26# _g_action_activate in libgio_2_0_0 27# _gtk_menu_shell_bind_model in libgtk_3_0 28# _g_closure_invoke in libgobject_2_0_0 29# _g_param_spec_variant in libgobject_2_0_0 30# _g_param_spec_variant in libgobject_2_0_0 31# _g_signal_emit in libgobject_2_0_0 32# _gtk_widget_activate in libgtk_3_0 33# _gtk_menu_shell_activate_item in libgtk_3_0 34# _g_closure_invoke in libgobject_2_0_0 35# _g_param_spec_variant in libgobject_2_0_0 36# _g_signal_emitv in libgobject_2_0_0 37# _gtk_identifier_get_type in libgtk_3_0 38# _gtk_identifier_get_type in libgtk_3_0 39# _gtk_identifier_get_type in libgtk_3_0 40# _gtk_bindings_activate_event in libgtk_3_0 41# _gtk_menu_item_get_reserve_indicator in libgtk_3_0 42# 0x00007FFA8D242FA4 in libgtk_3_0 43# _g_closure_invoke in libgobject_2_0_0 44# _g_param_spec_variant in libgobject_2_0_0 45# _g_signal_emit in libgobject_2_0_0 46# _gtk_requisition_copy in libgtk_3_0 47# _gtk_lock_button_set_permission in libgtk_3_0 48# _gtk_main_do_event in libgtk_3_0 49# _gdk_event_free in libgdk_3_0 50# _gdk_win32_drag_context_get_type in libgdk_3_0 51# _g_clear_list in libglib_2_0_0 52# _g_get_monotonic_time in libglib_2_0_0 53# _g_main_context_iteration in libglib_2_0_0 54# _g_application_run in libgio_2_0_0 55# 0x00007FF69FCC39AB in inkscape 56# 0x00007FF69FCC12EE in inkscape 57# 0x00007FF69FCC13E6 in inkscape 58# _BaseThreadInitThunk in KERNEL32 59# _RtlUserThreadStart in ntdll </pre> <details><summary>System info</summary> Inkscape 1.3.2 (091e20e, 2023-11-25, custom) GLib version: 2.78.1 GTK version: 3.24.39 glibmm version: 2.66.6 gtkmm version: 3.24.8 libxml2 version: 2.11.5 libxslt version: 1.1.38 Cairo version: 1.18.0 Pango version: 1.50.14 HarfBuzz version: 8.2.2 OS version: Windows 11 23H2 </details> #### What should have happened? Sample attachments: <!-- Attach the sample file(s) highlighting the issue, if appropriate. --> ![TeamLemanLogo.svg](/uploads/20234a8668f488ff9686e44599cc8a34/TeamLemanLogo.svg) #### Version info <!-- Open 'Help > About' and click on the little bug icon in the bottom right corner that copies the debug information to your clipboard. (If it is absent, you are likely running an older version of Inkscape. Please update to the latest version and report if the issue persists.) For command line users, run 'inkscape --debug-info'. Paste the information in the empty space between the apostrophes below: --> ``` Inkscape 1.3.2 (091e20e, 2023-11-25, custom) ``` <!-- ❤️ Thank you for filling in a new bug report, we appreciate the help! ❤️ Please be patient while we try to find the time to look into your issue. Remember that Inkscape is developed by volunteers in their spare time, we'll try our best to respond to all reports. --> <!-- Please be careful when/after writing # for example in logs, code, or versions of linux - use inline code span - single backticks (`) before and after it, like this - `#1618` - use multi-line code block - triple backticks (```) to fence/enclose console logs - attach long logs as a text file. -->
issue