GNOME Bugzilla – Bug 653803
EmpathyLogWindow should be a GtkWindow
Last modified: 2011-07-04 11:52:31 UTC
We need this to fix #653760
http://cgit.collabora.com/git/user/pochu/empathy.git/log/?h=log-viewer-gobject I'd like to make the .ui not contain the GtkWindow but only the GtkBox, but if I do that, empathy fails to load things from the .ui file, so I need to do gtk_widget_reparent for now...
(In reply to comment #1) > http://cgit.collabora.com/git/user/pochu/empathy.git/log/?h=log-viewer-gobject ++ > I'd like to make the .ui not contain the GtkWindow but only the GtkBox, but if > I do that, empathy fails to load things from the .ui file, so I need to do > gtk_widget_reparent for now... Is that GtkBuilder bug? I'd open one then.
I've found out it was my fault. GTK+ keeps a reference on top-level widgets (e.g. the GtkWindow we had) so when we were unreffing the builder, it wasn't destroyed. But it doesn't keep a reference on other widgets, so when I made the vbox not a child of a GtkWindow, loaded it, and unreffed the GtkBuilder*, the GtkBuilder* removed its reference on the GtkVBox, so it was destroyed. I'm not packing the GtkVBox before unreffing the GtkBuilder to fix it. See the last commit (I'll amend before merging).
Merged to master