Editing an invalid bar code crashes the app

Summary:

If you enter invalid data in the bar code generator then edit the text the application crashes.

Steps to reproduce:

  1. Open Inkscape
  2. Go to Extensions → Render → Bar Code / QR Code → Classic
  3. Enter 4-0006
  4. Enable “Live Preview”
  5. Dismiss the error dialog that a code can only contain digits
  6. Click after the dash
  7. Hit backspace

What happened?

The application crashed & suggested opening an issue with the following text:

 0# Inkscape::Application::crash_handler(int) in /app/bin/../lib/inkscape/libinkscape_base.so.1.3.2.0
 1# 0x00007FD2ADA51E80 in /usr/lib/x86_64-linux-gnu/libc.so.6
 2# 0x00007FD2ADAA3E14 in /usr/lib/x86_64-linux-gnu/libc.so.6
 3# raise in /usr/lib/x86_64-linux-gnu/libc.so.6
 4# abort in /usr/lib/x86_64-linux-gnu/libc.so.6
 5# 0x00007FD2ADCECECD in /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 6# Inkscape::DocumentUndo::cancel(SPDocument*) in /app/bin/../lib/inkscape/libinkscape_base.so.1.3.2.0
 7# Inkscape::Extension::PrefDialog::param_timer_expire() in /app/bin/../lib/inkscape/libinkscape_base.so.1.3.2.0
 8# 0x00007FD2B03BBF26 in /app/lib/libglibmm-2.4.so.1
 9# 0x00007FD2AE314C3A in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
10# 0x00007FD2AE311D47 in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
11# 0x00007FD2AE313E57 in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
12# g_main_context_iteration in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
13# g_application_run in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
14# main in inkscape
15# 0x00007FD2ADA3B08A in /usr/lib/x86_64-linux-gnu/libc.so.6
16# __libc_start_main in /usr/lib/x86_64-linux-gnu/libc.so.6
17# _start in inkscape
System info Inkscape 1.3.2 (091e20ef0f, 2023-11-25)
GLib version:     2.78.4
GTK version:      3.24.41
glibmm version:   2.66.1
gtkmm version:    3.24.5
libxml2 version:  2.11.5
libxslt version:  1.1.39
Cairo version:    1.18.0
Pango version:    1.51.2
HarfBuzz version: 8.1.1

OS version:       GNOME 45 (Flatpak runtime)

What should have happened?

No crash.

Version info

Inkscape 1.3.2 (091e20ef0f, 2023-11-25) (Flatpak)

            .-/+oossssoo+/-.               dys@fenrir
        `:+ssssssssssssssssss+:`           ----------
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 23.10 x86_64
    .ossssssssssssssssssdMMMNysssso.       Kernel: 6.5.0-21-generic
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Uptime: 37 mins
  +ssssssssshmydMMMMMMMNddddyssssssss+     Packages: 4925 (dpkg), 72 (flatpak), 61 (snap)
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Shell: bash 5.2.15
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Resolution: 3440x1440
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   DE: GNOME
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: Mutter
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM Theme: Adwaita
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Theme: Yaru-olive-dark [GTK2/3]
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Icons: breeze [GTK2/3]
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Terminal: WezTerm
  +sssssssssdmydMMMMMMMMddddyssssssss+     CPU: AMD Ryzen 7 3800X (16) @ 3.900GHz
   /ssssssssssshdmNNNNmyNMMMMhssssss/      GPU: NVIDIA GeForce GTX 1650
    .ossssssssssssssssssdMMMNysssso.       Memory: 8993MiB / 31994MiB
      -+sssssssssssssssssyyyssss+-
        `:+ssssssssssssssssss+:`
            .-/+oossssoo+/-.