Created attachment 393985 [details] [diff] [review] patch Attachment 390626 [details] [diff] changed container nsWindows to reuse the GdkWindow from the MozContainer GtkWidget instead of creating another child GdkWindow. When the container GtkWidget is unrealized its descendant GdkWindows are removed from the GtkWidget (because the hierarchy is destroyed) by setting the GdkWindow's pointer to the GtkWidget to NULL. Previously nsWindow::OnContainerUnrealize() would remove the descendant GdkWindows and the GtkWidget would remove its own GdkWindow. Now, when mGdkWindow belongs to a GtkWidget (no longer a child of the GtkWidget's GdkWindow), we should not set mGdkWindow's widget to NULL, but let the GtkWidget do that. (The nsWindow can still set the "nsWindow" data on the MozContainer's GdkWindow because it is the nsWindow that set and uses this data.)
Fixed in bug 522635.