From c6e33b67fc3b6043af56e041b3684e82f0a86a95 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Wed, 11 Nov 2020 22:57:28 -0300 Subject: [PATCH] Fixing toolbar segfault on application exit. --- src/objects/toolbar/actions.c | 2 +- src/objects/toolbar/toolbar.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/objects/toolbar/actions.c b/src/objects/toolbar/actions.c index 077489c..2b6a943 100644 --- a/src/objects/toolbar/actions.c +++ b/src/objects/toolbar/actions.c @@ -58,7 +58,7 @@ GtkWidget * window = gtk_widget_get_toplevel(toolbar); - if(window) { + if(window && G_IS_ACTION_MAP(window)) { GtkToolItem * item = NULL; GAction *action = g_action_map_lookup_action(G_ACTION_MAP(window), name); diff --git a/src/objects/toolbar/toolbar.c b/src/objects/toolbar/toolbar.c index aa5c2c5..03f015c 100644 --- a/src/objects/toolbar/toolbar.c +++ b/src/objects/toolbar/toolbar.c @@ -363,6 +363,13 @@ void pw3270_toolbar_set_actions(GtkWidget *toolbar, const gchar *action_names) { + // The action search requires a toplevel window. + if(!gtk_widget_get_parent(toolbar)) { + g_warning("Can't set actions on an orphan toolbar"); + return; + } + + // Split action names size_t ix; gint pos = 0; -- libgit2 0.21.2