]> Pileus Git - ~andy/gtk/commitdiff
Don't return a list of NULLs. (#325723, Steve Chaplin)
authorMatthias Clasen <mclasen@redhat.com>
Wed, 4 Jan 2006 15:32:05 +0000 (15:32 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 4 Jan 2006 15:32:05 +0000 (15:32 +0000)
2006-01-04  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Don't return
a list of NULLs.  (#325723, Steve Chaplin)

ChangeLog
ChangeLog.pre-2-10
gtk/gtkuimanager.c

index b0f05464cc263c8189b14149b134bf51b075d57c..330802bbdac71a79a3a78ab7ccbe1488ccc24a26 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-01-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Don't return
+       a list of NULLs.  (#325723, Steve Chaplin)
+
 2006-01-04  Rodrigo Moya <rodrigo@novell.com>
 
        * gtk/gtkbindings.c (binding_signal_new): guard against multiplying
index b0f05464cc263c8189b14149b134bf51b075d57c..330802bbdac71a79a3a78ab7ccbe1488ccc24a26 100644 (file)
@@ -1,3 +1,8 @@
+2006-01-04  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Don't return
+       a list of NULLs.  (#325723, Steve Chaplin)
+
 2006-01-04  Rodrigo Moya <rodrigo@novell.com>
 
        * gtk/gtkbindings.c (binding_signal_new): guard against multiplying
index 4a7b1715d6d2fd3636ef1e40f5339f10c0449943..3c2732025e2c053ed9b38d54a413d4d5925b46c9 100644 (file)
@@ -755,30 +755,36 @@ gtk_ui_manager_get_widget (GtkUIManager *self,
   return GTK_UI_MANAGER_GET_CLASS (self)->get_widget (self, path);
 }
 
+typedef struct {
+  GtkUIManagerItemType types;
+  GSList *list;
+} ToplevelData;
+
 static void
 collect_toplevels (GNode   *node, 
                   gpointer user_data)
 {
-  struct {
-    GtkUIManagerItemType types;
-    GSList *list;
-  } *data = user_data;
-
-  switch (NODE_INFO (node)->type) {
-  case NODE_TYPE_MENUBAR:
-    if (data->types & GTK_UI_MANAGER_MENUBAR)
-      data->list = g_slist_prepend (data->list, NODE_INFO (node)->proxy);
-    break;
-  case NODE_TYPE_TOOLBAR:
-    if (data->types & GTK_UI_MANAGER_TOOLBAR)
-      data->list = g_slist_prepend (data->list, NODE_INFO (node)->proxy);
-    break;
-  case NODE_TYPE_POPUP:
-    if (data->types & GTK_UI_MANAGER_POPUP)
-      data->list = g_slist_prepend (data->list, NODE_INFO (node)->proxy);
-    break;
-  default: ;
-  }
+  ToplevelData *data = user_data;
+
+  if (NODE_INFO (node)->proxy)
+    {
+      switch (NODE_INFO (node)->type) 
+       {
+       case NODE_TYPE_MENUBAR:
+         if (data->types & GTK_UI_MANAGER_MENUBAR)
+       data->list = g_slist_prepend (data->list, NODE_INFO (node)->proxy);
+         break;
+       case NODE_TYPE_TOOLBAR:
+      if (data->types & GTK_UI_MANAGER_TOOLBAR)
+       data->list = g_slist_prepend (data->list, NODE_INFO (node)->proxy);
+      break;
+       case NODE_TYPE_POPUP:
+         if (data->types & GTK_UI_MANAGER_POPUP)
+           data->list = g_slist_prepend (data->list, NODE_INFO (node)->proxy);
+         break;
+       default: ;
+       }
+    }
 }
 
 /**
@@ -799,10 +805,7 @@ GSList *
 gtk_ui_manager_get_toplevels (GtkUIManager         *self,
                              GtkUIManagerItemType  types)
 {
-  struct {
-    GtkUIManagerItemType types;
-    GSList *list;
-  } data;
+  ToplevelData data;
 
   g_return_val_if_fail (GTK_IS_UI_MANAGER (self), NULL);
   g_return_val_if_fail ((~(GTK_UI_MANAGER_MENUBAR |