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

Reply via email to