From 961d31f6d7273f7af03f2f2e565dc7aa7670b3e7 Mon Sep 17 00:00:00 2001 Message-Id: <961d31f6d7273f7af03f2f2e565dc7aa7670b3e7.1714032890.git.mdw@distorted.org.uk> From: Mark Wooding Date: Fri, 6 Jun 2008 17:30:19 +0100 Subject: [PATCH] Make menu_update() robust against being called before the notebook has been created. Organization: Straylight/Edgeware From: Richard Kettlewell --- disobedience/menu.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/disobedience/menu.c b/disobedience/menu.c index 3b39a44..b80537e 100644 --- a/disobedience/menu.c +++ b/disobedience/menu.c @@ -117,19 +117,21 @@ static void settings(gpointer attribute((unused)) callback_data, * need not. */ void menu_update(int page) { - GtkWidget *tab = gtk_notebook_get_nth_page - (GTK_NOTEBOOK(tabs), - page < 0 ? gtk_notebook_current_page(GTK_NOTEBOOK(tabs)) : page); - const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type"); + if(tabs) { + GtkWidget *tab = gtk_notebook_get_nth_page + (GTK_NOTEBOOK(tabs), + page < 0 ? gtk_notebook_current_page(GTK_NOTEBOOK(tabs)) : page); + const struct tabtype *t = g_object_get_data(G_OBJECT(tab), "type"); - assert(t != 0); - gtk_widget_set_sensitive(properties_widget, - (t->properties_sensitive(tab) - && (disorder_eclient_state(client) & DISORDER_CONNECTED))); - gtk_widget_set_sensitive(selectall_widget, - t->selectall_sensitive(tab)); - gtk_widget_set_sensitive(selectnone_widget, - t->selectnone_sensitive(tab)); + assert(t != 0); + gtk_widget_set_sensitive(properties_widget, + (t->properties_sensitive(tab) + && (disorder_eclient_state(client) & DISORDER_CONNECTED))); + gtk_widget_set_sensitive(selectall_widget, + t->selectall_sensitive(tab)); + gtk_widget_set_sensitive(selectnone_widget, + t->selectnone_sensitive(tab)); + } } /** @brief Fetch version in order to display the about... popup */ -- [mdw]