actor: Check "paint" handlers in _get_paint_volume
actor: Check "paint" handlers in _get_paint_volume

Instead of waiting until clutter_actor_paint to check if there are any
handlers connected to the "paint" signal, we now do the check whenever
the paint-volume is requested in _actor_get_paint_volume_mutable().

Previously we checked in clutter_actor_paint(), but at that time we may
already be using a stage clip that could be derived from an invalid
paint-volume. We used to try and handle that by queuing a follow up,
unclipped, redraw but anyway there was an additional problem with the
previous approach because the checking wasn't enough to always catch
invalid volumes involved in culling (considering that containers may
derive their volume from children that haven't yet been painted)

By moving the check to _get_paint_volume time not only do we now
correctly check children in cases where a container derives its volume
from its children's volumes but we no longer need to queue follow up
redraws to cover up artefacts.

Since we now never queue follow up redraws, this in turn means we should
no longer clobber redraws queued with an explicit clip which was
something affecting gnome-shell since it connects a handler to the paint
signal of the stage.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2388

jigpu/clutter,ebassi/clutter,djdeath/clutter,djdeath/clutter-android,djdeath/clutter-multithreaded,heysion/clutter-clone,djdeath/clutter-android,Distrotech/clutter,Distrotech/clutter,spatulasnout/clutter,spatulasnout/clutter,GNOME/clutter,GNOME/clutter,spatulasnout/clutter,collects/clutter,nobled/clutter,djdeath/clutter-multithreaded,djdeath/clutter-multithreaded,GNOME/clutter,GNOME/clutter,djdeath/clutter,kerrickstaley/clutter-vala,collects/clutter,djdeath/clutter,jigpu/clutter,Distrotech/clutter,djdeath/clutter-android,ebassi/clutter,jigpu/clutter,collects/clutter,jigpu/clutter,Distrotech/clutter,kerrickstaley/clutter-vala,spatulasnout/clutter,collects/clutter,heysion/clutter-clone,ebassi/clutter,djdeath/clutter-android,djdeath/clutter,Distrotech/clutter,spatulasnout/clutter,heysion/clutter-clone,jigpu/clutter,nobled/clutter,jigpu/clutter,GNOME/clutter,djdeath/clutter,kerrickstaley/clutter-vala,dlespiau/clutter,kerrickstaley/clutter-vala,nobled/clutter,dlespiau/clutter,heysion/clutter-clone,heysion/clutter-clone,ebassi/clutter,djdeath/clutter-multithreaded,collects/clutter,djdeath/clutter,Distrotech/clutter,ebassi/clutter,djdeath/clutter-android,dlespiau/clutter