[glade3] * gladeui/glade-widget.c: Fixed access of NULL project at glade_widget_show/hide time.



commit 00a9f55767babfd30af1c1d1a13dabda03546c46
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Wed Jan 12 17:53:53 2011 +0900

    	* gladeui/glade-widget.c: Fixed access of NULL project at glade_widget_show/hide time.

 ChangeLog              |    2 ++
 gladeui/glade-widget.c |   19 ++++++++++++-------
 2 files changed, 14 insertions(+), 7 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 00ef3d8..e3121fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,8 @@
 	* gladeui/glade-palette.c: Fixed leaking project (set_project NULL when
 	  palette is disposed fixes it).
 
+	* gladeui/glade-widget.c: Fixed access of NULL project at glade_widget_show/hide time.
+
 2011-01-10  Tristan Van Berkom <tristanvb openismus com>
 
 	* gladeui/glade-signal-model.[ch]:
diff --git a/gladeui/glade-widget.c b/gladeui/glade-widget.c
index 187b088..3e14a5b 100644
--- a/gladeui/glade-widget.c
+++ b/gladeui/glade-widget.c
@@ -2032,9 +2032,10 @@ glade_widget_add_to_layout (GladeWidget * widget, GtkWidget * layout)
 void
 glade_widget_show (GladeWidget * widget)
 {
-  GladeDesignView *view;
+  GladeDesignView *view = NULL;
   GtkWidget *layout;
   GladeProperty *property;
+  GladeProject *project;
 
   g_return_if_fail (GLADE_IS_WIDGET (widget));
 
@@ -2050,8 +2051,9 @@ glade_widget_show (GladeWidget * widget)
           return;
         }
 
-      view =
-	glade_design_view_get_from_project (glade_widget_get_project (widget));
+      project = glade_widget_get_project (widget);
+      if (project)
+	view = glade_design_view_get_from_project (project);
 
       if (!view)
         return;
@@ -2089,14 +2091,17 @@ void
 glade_widget_hide (GladeWidget * widget)
 {
   g_return_if_fail (GLADE_IS_WIDGET (widget));
+
   if (GTK_IS_WIDGET (widget->priv->object))
     {
       GladeDesignView *view;
-      GtkWidget *layout;
+      GladeProject    *project;
+      GtkWidget       *layout;
+
+      project = glade_widget_get_project (widget);
 
-      if ((view =
-           glade_design_view_get_from_project (glade_widget_get_project
-                                               (widget))) != NULL)
+      if (project && 
+	  (view = glade_design_view_get_from_project (project)) != NULL)
         {
           GtkWidget *child;
 



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