window/wayland: Don't recursive indefinitely when updating monitor

When we update the main monitor, there is a rule that makes it so that
popup windows use the same main monitor as their parent. In the commit
f4d07caa38 the call that updates and
fetches the main monitor of the toplevel accidentally changed to update
from itself, causing a indefinite recursion eventually resulting in a
crash.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/279
This commit is contained in:
Jonas Ådahl 2018-08-27 17:49:52 +02:00
parent 5376c31a33
commit e191c21e04

View File

@ -392,7 +392,7 @@ meta_window_wayland_update_main_monitor (MetaWindow *window,
toplevel_window = meta_wayland_surface_get_toplevel_window (window->surface); toplevel_window = meta_wayland_surface_get_toplevel_window (window->surface);
if (toplevel_window != window) if (toplevel_window != window)
{ {
meta_window_update_monitor (window, flags); meta_window_update_monitor (toplevel_window, flags);
window->monitor = toplevel_window->monitor; window->monitor = toplevel_window->monitor;
return; return;
} }