Crash when font deleted or installed while the Text and Font dialog is open

Summary:

Deleting a font in use in a document causes Inkscape to crash

Steps to reproduce:

  • Install some font
  • open Inkscape
  • Add some text and set it to that font
  • Delete that font

What happened?

Inkscape crashes

What should have happened?

Switch to fallback font/ show error and ask to choose different font

Version info

Inkscape 1.4 (e7c3feb100, 2024-10-09)

                      Compile  (Run)
    GLib version:     2.82.4
    GTK version:      3.24.43 (3.24.43)
    glibmm version:   2.66.7
    gtkmm version:    3.24.9
    libxml2 version:  2.13.5
    libxslt version:  1.1.42
    Cairo version:    1.18.2 (1.18.2)
    Pango version:    1.54.0 (1.54.0)
    HarfBuzz version: 10.1.0 (10.1.0)

    OS version:       EndeavourOS

Logs

<pre>
 0# Inkscape::Application::crash_handler(int) in /usr/bin/../lib/inkscape/libinkscape_base.so.1.4.0.0
 1# 0x000073F89024C1D0 in /usr/lib/libc.so.6
 2# pango_font_family_list_faces in /usr/bin/../lib/inkscape/../libpango-1.0.so.0
 3# FontFactory::GetUIStyles(_PangoFontFamily*) in /usr/bin/../lib/inkscape/libinkscape_base.so.1.4.0.0
 4# Inkscape::FontLister::ensureRowStyles(Gtk::TreeIter) in /usr/bin/../lib/inkscape/libinkscape_base.so.1.4.0.0
 5# Inkscape::UI::Widget::FontSelector::on_family_changed() in /usr/bin/../lib/inkscape/libinkscape_base.so.1.4.0.0
 6# Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) in /usr/lib/libglibmm-2.4.so.1
 7# 0x000073F890178E1C in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
 8# g_signal_emit_valist in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
 9# g_signal_emit in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
10# 0x000073F88E932237 in /usr/bin/../lib/inkscape/../libgtk-3.so.0
11# 0x000073F88E92C122 in /usr/bin/../lib/inkscape/../libgtk-3.so.0
12# g_closure_invoke in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
13# 0x000073F890188565 in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
14# 0x000073F890178CA9 in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
15# g_signal_emit_valist in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
16# g_signal_emit in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
17# gtk_list_store_remove in /usr/bin/../lib/inkscape/../libgtk-3.so.0
18# gtk_list_store_clear in /usr/bin/../lib/inkscape/../libgtk-3.so.0
19# Inkscape::FontLister::init_font_families(int, int) in /usr/bin/../lib/inkscape/libinkscape_base.so.1.4.0.0
20# 0x000073F891C7DCE0 in /usr/bin/../lib/inkscape/libinkscape_base.so.1.4.0.0
21# g_closure_invoke in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
22# 0x000073F8901888DF in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
23# 0x000073F890178CA9 in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
24# g_signal_emit_valist in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
25# g_signal_emit in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
26# 0x000073F890163D16 in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
27# g_object_notify_by_pspec in /usr/bin/../lib/inkscape/../libgobject-2.0.so.0
28# 0x000073F88EEBB457 in /usr/bin/../lib/inkscape/../libgdk-3.so.0
29# 0x000073F88EEF5E80 in /usr/bin/../lib/inkscape/../libgdk-3.so.0
30# 0x000073F890B0D559 in /usr/lib/libglib-2.0.so.0
31# 0x000073F890B70257 in /usr/lib/libglib-2.0.so.0
32# g_main_context_iteration in /usr/lib/libglib-2.0.so.0
33# g_application_run in /usr/bin/../lib/inkscape/../libgio-2.0.so.0
34# main in /usr/bin/inkscape
35# 0x000073F890234E08 in /usr/lib/libc.so.6
36# __libc_start_main in /usr/lib/libc.so.6
37# _start in /usr/bin/inkscape
</pre>
<details><summary>System info</summary>
Inkscape 1.4 (e7c3feb100, 2024-10-09)

                      Compile  (Run)
    GLib version:     2.82.4
    GTK version:      3.24.43 (3.24.43)
    glibmm version:   2.66.7
    gtkmm version:    3.24.9
    libxml2 version:  2.13.5
    libxslt version:  1.1.42
    Cairo version:    1.18.2 (1.18.2)
    Pango version:    1.54.0 (1.54.0)
    HarfBuzz version: 10.1.0 (10.1.0)

    OS version:       EndeavourOS
</details>