Wireshark-dev: Re: [Wireshark-dev] New Wireshark welcome page!

From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Sat, 19 Apr 2008 19:49:31 +0200
Stig Bjørlykke schrieb:
On 19. april. 2008, at 15.39, Ulf Lamping wrote:
Huh, that was a real though one - I spend several days on it now, but
still no optimal solution!
My list of recent files is empty after this update, and I get this new warnings on startup, both on Ubuntu and OSX: (wireshark:19088): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed

(wireshark:19088): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed
I think I found the problem, but the SVN server currently seems down, I've appended the required patch for the impatient ;-)

Regards, ULFL




Index: C:/Wireshark/subversion/gtk/main_welcome.c
===================================================================
--- C:/Wireshark/subversion/gtk/main_welcome.c    (revision 25119)
+++ C:/Wireshark/subversion/gtk/main_welcome.c    (working copy)
@@ -135,6 +135,7 @@
        gtk_container_remove(GTK_CONTAINER(parent_box), child_box);
        gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollw),
                                              child_box);
+        gtk_widget_show_all(scrollw);
    }

    return child_box;
@@ -418,16 +419,18 @@
    GList* child_list_item;


-    child_box = scroll_box_dynamic_reset(welcome_file_panel_vb);
-    child_list = gtk_container_get_children(GTK_CONTAINER(child_box));
-    child_list_item = child_list;
+    if(welcome_file_panel_vb) {
+        child_box = scroll_box_dynamic_reset(welcome_file_panel_vb);
+        child_list = gtk_container_get_children(GTK_CONTAINER(child_box));
+        child_list_item = child_list;

-    while(child_list_item) {
- gtk_container_remove(GTK_CONTAINER(child_box), child_list_item->data);
-        child_list_item = g_list_next(child_list_item);
+        while(child_list_item) {
+ gtk_container_remove(GTK_CONTAINER(child_box), child_list_item->data);
+            child_list_item = g_list_next(child_list_item);
+        }
+
+        g_list_free(child_list);
    }
-
-    g_list_free(child_list);
}