clutter-actor: Remember and propagate is_dirty when mapped
When an actor was unmapped it would lose track of whether its contents
were dirty because we return early from _clutter_actor_queue_redraw_full
without setting is_dirty
. And even if that actor was not offscreened,
being unmapped it would fail to propagate is_dirty
to its ancestors
who might also be unmapped and offscreened. This resulted in (for
example) the GNOME panel not updating after returning from fullscreen.
Now we remember the is_dirty
flag for unmapped actors and propagate
it up the hierarchy as soon as they become mapped.
Closes: gnome-shell#2973 (closed)
Edited by Daniel van Vugt