From 730d8bd73031ae9a848ad8fdfce7e09dfc1526cf Mon Sep 17 00:00:00 2001 From: John Ralls Date: Fri, 3 Feb 2023 16:34:50 -0800 Subject: [PATCH] [c++ options] Don't crash if the option doesn't have a UI item. Return quietly if it's an internal option and noisily if not. --- gnucash/gnome-utils/dialog-options.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnucash/gnome-utils/dialog-options.cpp b/gnucash/gnome-utils/dialog-options.cpp index b0a085c462..35e350f010 100644 --- a/gnucash/gnome-utils/dialog-options.cpp +++ b/gnucash/gnome-utils/dialog-options.cpp @@ -127,8 +127,9 @@ GncOptionsDialog::changed() noexcept void gnc_option_changed_widget_cb(GtkWidget *widget, GncOption* option) { - if (!option) return; + if (!option || option->is_internal()) return; auto ui_item{option->get_ui_item()}; + g_return_if_fail(ui_item); auto widget_changed_cb{option->get_widget_changed()}; auto gtk_ui_item{dynamic_cast(ui_item)}; if (widget_changed_cb && gtk_ui_item)