https://bugzilla.gnome.org/show_bug.cgi?id=775470
Bug ID: 775470
Summary: GdkWindow does not always unref all GdkFrameClockIdle
it creates
Classification: Platform
Product: gtk+
Version: 3.22.x
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: Backend: Wayland
Assignee: gtk-b...@gtk.org
Reporter: sixty...@inwind.it
QA Contact: gtk-b...@gtk.org
CC: r...@robster.org.uk, wayland-bugs@lists.freedesktop.org
GNOME version: ---
After setting GOBJECT_DEBUG=objects comparing the outputs
of the following program run with ITERATIONS set to 2 and 1:
#include <gtk/gtk.h>
#ifndef ITERATIONS
#define ITERATIONS 1
#endif
int
main (int argc,
char *argv[])
{
if (gtk_init_check (&argc, &argv))
{
int i;
for (i = 0; i < ITERATIONS; ++i)
{
GtkWidget *dialog;
dialog = gtk_file_chooser_dialog_new ("Open File",
NULL,
GTK_FILE_CHOOSER_ACTION_OPEN,
"Cancel", GTK_RESPONSE_CANCEL,
NULL);
gtk_widget_show_all (dialog);
gtk_widget_destroy (dialog);
}
}
return 0;
}
on Wayland the number of objects alive at exit increases for the
presence of few GdkFrameClockIdle objects.
The problem is that on Wayland popover GdkWindow have window_type
GDK_WINDOW_SUBSURFACE
https://git.gnome.org/browse/gtk+/tree/gtk/gtkwindow.c?h=gtk-3-22#n6647
and gdk_window_destroy (_gdk_window_destroy_hierarchy) does nearly nothing
for this kind of GdkWindow:
https://git.gnome.org/browse/gtk+/tree/gdk/gdkwindow.c?h=gtk-3-22#n2019
in particular it does not unref GdkFrameClockIdle objects it
creates.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
wayland-bugs mailing list
wayland-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-bugs