On Fri, Jan 15, 2010 at 11:51:38PM +0000, Tristan Schmelcher wrote: > I'm a novice Gtk app developer writing a plugin for Firefox and I'm > having trouble getting the callbacks that I need from Gtk/Gdk. The way > the plugin architecture works is that Firefox creates a GtkSocket and > my plugin gets passed its XID and creates the corresponding GtkPlug > (in the same process). By and large everything works, except at > shutdown. In some cases, Firefox happens to do a gdk_window_destroy() > on one of the parent windows of the GtkSocket before unloading my > plugin (for example, when closing a tab with the 'X'). That > recursively destroys everything down to the GtkSocket and also the > GtkPlug in _gdk_window_destroy_hierarchy( > ). So when I try to access the underlying X11 Window handle after this > I get an error from the X server and the program aborts. :( > > What I'd like to do is receive a signal from Gtk/Gdk when the > GdkWindow inside my GtkPlug is destroyed like this so that I can > cancel any further rendering actions. But I can't figure out how to > receive a signal when this happens! AFAICT none of the GtkPlug signals > or its inherited GtkWidget signals are dispatched when this happens.
What about g_object_weak_ref() on the GdkWindow? Then you can get notified when it's finalized (if it isn't too late for you). Yeti _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list