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
(cherry picked from commit e191c21e04)
This commit is contained in:
Jonas Ådahl 2018-08-27 17:49:52 +02:00 committed by Olivier Fourdan
parent 6ed36cd6e3
commit 1514880e92

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;
} }