[Gtk3/x11] window->impl leaks for child Gdk windows
Downstream Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1864382
- Create GtkWindow object
- place a custom widget with its own GdkWindow as child widget
- show/map GtkWindow
- close it
_gdk_x11_display_create_window_impl() creates window->impl = GDK_WINDOW_IMPL (impl) object which is not released for child window. Only toplevel windows gets gdk_window_impl_x11_finalize() call. gdk_x11_window_destroy() is called for child windows too so XID is released.
I used modified gtk3 sources which prints gdk_x11_window_destroy/gdk_window_impl_x11_finalize and this bug affects Gnome applications like gedit or terminal.