[gtk+] widget-factory: Avoid a crash on exit



commit 2a7bd3a2da6f664da7cdad2bbcd63e4824c6b375
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Jul 6 18:37:29 2014 -0400

    widget-factory: Avoid a crash on exit

 demos/widget-factory/widget-factory.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)
---
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index 121fb9f..820c49e 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -1,5 +1,4 @@
-/* widget-factory: a collection of widgets in a single page, for easy
- *                 theming
+/* widget-factory: a collection of widgets, for easy theme testing
  *
  * Copyright (C) 2011 Canonical Ltd
  *
@@ -17,7 +16,6 @@
  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  *
  * Authored by Andrea Cimitan <andrea cimitan canonical com>
- *
  */
 
 #include "config.h"
@@ -317,6 +315,9 @@ page_changed_cb (GtkWidget *stack, GParamSpec *pspec, gpointer data)
   const gchar *name;
   GtkWidget *page;
 
+  if (gtk_widget_in_destruction (stack))
+    return;
+
   name = gtk_stack_get_visible_child_name (GTK_STACK (stack));
   if (g_str_equal (name, "page3"))
     {
@@ -421,14 +422,12 @@ main (int argc, char *argv[])
   static GActionEntry app_entries[] = {
     { "about", activate_about, NULL, NULL, NULL },
     { "quit", activate_quit, NULL, NULL, NULL },
-
     { "main", NULL, "s", "'steak'", NULL },
     { "wine", NULL, NULL, "false", NULL },
     { "beer", NULL, NULL, "false", NULL },
     { "water", NULL, NULL, "true", NULL },
     { "dessert", NULL, "s", "'bars'", NULL },
     { "pay", NULL, "s", NULL, NULL }
-
   };
   gint status;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]