exposay: fix infinite loop with fullscreen surfaces
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Tue, 7 Jan 2014 15:41:39 +0000 (16:41 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 8 Jan 2014 05:41:18 +0000 (21:41 -0800)
commite6bbe5a90d1ea91624ebdbdb7abdc7a1bbe9829d
tree0fa6c7e91dae246e8d58fa3b8d3300aa9e439622
parentef9c8eb2db49ff32788c1d9a4a88fd706017e045
exposay: fix infinite loop with fullscreen surfaces

We were calling exposay_highlight_surface() inside a wl_list_for_each
loop for a layer, but exposay_highlight_surface() calls activate()
which calls shell_surface_update_layer(), which removes the surface
from its layer and reinserts it, causing an infinite loop.

Call exposay_highlight_surface() outside the for_each to avoid this.

https://bugs.freedesktop.org/show_bug.cgi?id=72404
desktop-shell/exposay.c