https://bugzilla.gnome.org/show_bug.cgi?id=759299
Bug ID: 759299
Summary: wayland: possible infinite loop in gdkwindow-wayland
Classification: Platform
Product: gtk+
Version: 3.19.x
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: Backend: Wayland
Assignee: [email protected]
Reporter: [email protected]
QA Contact: [email protected]
CC: [email protected], [email protected]
GNOME version: ---
Created attachment 317111
--> https://bugzilla.gnome.org/attachment.cgi?id=317111&action=edit
Reproducer program
Summary:
The Wayland backend will enter an infinite loop in case of a cycle in transient
relationship (a transient for B and B transient for A).
Steps to reproduce:
1. Save and build the attached program
$ gcc -o cycling-transient cycling-transient.c `pkg-config --libs --cflags
gtk+-3.0`
2. Execute the program under Wayland
Actual result:
The program wil lenter an infinite loop and take 100% CPU
Expected result:
The windows appear normally as in X11
Additional data:
This is because of the following code construct in gdkwindow-wayland.c
while (window)
{
GdkWindowImplWayland *impl;
impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
window = impl->transient_for;
}
As found in find_grab_input_seat(), get_popup_parent() or
gdk_wayland_window_get_fake_root_coords()
--
You are receiving this mail because:
You are on the CC list for the bug._______________________________________________
wayland-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-bugs