(This is with not still committed gtk2 gtkmozembed blizzard patches) To reproduce I modified gtkmozembed to destroy the mozembed widget but not the toplevel window on quit menu. I can provide a patch if needed. galeon-bin:21220): Gtk-CRITICAL **: file gtkwidget.c: line 5033 (gtk_widget_get_toplevel): assertion `GTK_IS_WIDGET (widget)' failed (galeon-bin:21220): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkObject' (galeon-bin:21220): Gtk-CRITICAL **: file gtkwidget.c: line 2972 (gtk_widget_send_expose): assertion `GTK_IS_WIDGET (widget)' failed Stack trace: #6 0x406db08d in gtk_widget_get_toplevel (widget=0x8296d30) at gtkwidget.c:5033 #7 0x4060fb77 in gtk_main_get_window_group (widget=0x8296d30) at gtkmain.c:1404 #8 0x4060f760 in gtk_main_do_event (event=0xbffff8b0) at gtkmain.c:1229 #9 0x4078e162 in gdk_window_process_updates_internal (window=0x8269b50) at gdkwindow.c:2103 #10 0x4078e216 in gdk_window_process_all_updates () at gdkwindow.c:2138 #11 0x405bca41 in gtk_container_idle_sizer (data=0x0) at gtkcontainer.c:1004 #12 0x4093add0 in g_idle_dispatch (source=0x83472b8, callback=0x405bc9a8 <gtk_container_idle_sizer>, user_data=0x0) at gmain.c:3129 #13 0x4093879e in g_main_dispatch (context=0x80d1fc8) at gmain.c:1617 #14 0x409395b5 in g_main_context_dispatch (context=0x80d1fc8) at gmain.c:2161 #15 0x40939948 in g_main_context_iterate (context=0x80d1fc8, block=1, dispatch=1, self=0x80c6e98) at gmain.c:2242 #16 0x40939fee in g_main_loop_run (loop=0x8109028) at gmain.c:2462 #17 0x402fff02 in bonobo_main () at bonobo-main.c:290
Created attachment 83369 [details] [diff] [review] One line patch that fix the crashes, it needs blizzard gtk2 patches applied before The patch unset the NO_WINDOW flags so that widget->window is destroyed on unrealize. Without it the gdkwindow was not destroyed and it was getting an expose event when the widget was already destroyed.
Is there a decent test case for this?
Created attachment 83405 [details] [diff] [review] Testcase as a TestGtkEmbed patch To reproduce run TestGtkEmbed and click File->Close. The testcase will show the warnings but will not crash. I'm able to crash it only when removing more than one tab (2-3 normally) in galeon.
marking new for patch loving.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Should be fixed with the checkin of bug 121253.
Should this bug mark duplicate of bug 121253 ? I'm no longer seeing the crash with mozilla 1.3beta..
No, I think this is different.
I think this is really fixed by 121253. The patch I attached here is included in that patch. http://bugzilla.mozilla.org/attachment.cgi?id=106446&action=view
Ahh, yes. This part was already checked in a while ago.
Status: NEW → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED
Component: Embedding: GTK Widget → Embedding: GTK Widget
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.