Daniel van Vugt
ee507d9ab2
clutter-actor: Keep is_dirty unchanged for culled actors
...
In a multi-monitor setup there is a separate paint run for each monitor.
If an actor doesn't intersect the first monitor painted then it is culled
out for that monitor to save time. Unfortunately this would mean
`clutter_actor_paint` was setting `is_dirty = FALSE` before the actor had
yet been painted on any monitor.
This meant that effects like `ClutterOffscreenEffect` were not receiving
the flag `CLUTTER_EFFECT_PAINT_ACTOR_DIRTY` when they should have, and
so would rightfully think they don't need to do a full internal
invalidation. So `ClutterOffscreenEffect`, and probably other effects,
did not repaint correctly unless on the first monitor in the list.
The fix is to simply avoid setting `is_dirty = FALSE` on those paint
runs where the actor has been culled out (`clutter_actor_continue_paint`
wasn't called). It is only safe to clear the flag after
`clutter_actor_continue_paint` has been called at least once per stage
paint.
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1049
https://gitlab.gnome.org/GNOME/mutter/merge_requests/511
2019-03-28 17:42:01 +08:00
..
2018-11-06 17:17:36 +01:00
2019-03-01 19:48:40 +01:00
2019-02-28 13:01:36 -05:00
2019-02-27 03:32:21 +00:00
2019-03-25 14:08:40 +01:00
2018-11-18 20:28:39 -02:00
2019-03-25 14:08:40 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-01-24 17:00:25 +00:00
2019-03-01 17:46:49 +00:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-03-01 17:46:49 +00:00
2019-03-28 17:42:01 +08:00
2019-03-01 17:46:49 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-02-27 16:44:24 +00:00
2019-02-27 16:44:24 +00:00
2019-02-27 16:44:24 +00:00
2019-03-04 09:28:30 -05:00
2019-03-04 09:28:30 -05:00
2019-03-04 09:28:30 -05:00
2019-03-01 19:42:07 +01:00
2018-03-21 13:22:35 +08:00
2019-01-22 18:31:52 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-18 20:28:38 -02:00
2018-11-06 17:17:36 +01:00
2019-01-28 18:36:05 +01:00
2018-11-06 17:17:36 +01:00
2018-11-18 20:28:38 -02:00
2018-11-06 17:17:36 +01:00
2018-11-06 18:51:44 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-03-01 17:46:49 +00:00
2019-03-01 17:46:49 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-18 20:28:38 -02:00
2018-11-06 17:17:36 +01:00
2016-04-12 20:04:26 +02:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-04-12 20:04:26 +02:00
2019-02-27 16:44:24 +00:00
2019-02-27 16:44:24 +00:00
2019-02-28 09:31:01 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-02-28 13:01:36 -05:00
2018-11-18 20:28:38 -02:00
2018-11-06 17:17:36 +01:00
2019-03-25 14:08:40 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-07-20 14:23:48 +08:00
2016-04-12 20:04:26 +02:00
2018-09-18 19:39:12 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-07-20 14:23:48 +08:00
2018-11-06 17:17:36 +01:00
2019-02-28 09:31:01 +01:00
2016-04-12 20:04:26 +02:00
2016-07-20 14:23:48 +08:00
2019-02-28 09:31:01 +01:00
2018-11-19 15:41:43 +00:00
2019-01-31 16:50:04 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-04-12 20:04:26 +02:00
2019-02-27 16:44:24 +00:00
2019-02-28 09:31:01 +01:00
2019-02-28 09:31:01 +01:00
2018-11-06 17:17:36 +01:00
2019-03-25 14:08:40 +01:00
2019-03-25 14:08:40 +01:00
2018-01-18 15:35:29 +01:00
2019-03-04 18:17:08 +00:00
2019-03-04 18:17:08 +00:00
2018-01-18 15:35:29 +01:00
2019-03-04 18:17:08 +00:00
2019-03-04 18:17:08 +00:00
2016-07-20 14:23:48 +08:00
2018-11-06 17:17:36 +01:00
2018-11-12 15:36:29 +01:00
2018-11-06 17:17:36 +01:00
2019-01-29 16:53:29 +01:00
2019-01-29 16:53:29 +01:00
2016-07-20 14:23:48 +08:00
2016-04-12 20:04:26 +02:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-03-04 09:28:30 -05:00
2019-02-28 09:31:01 +01:00
2019-02-25 18:17:34 +00:00
2019-02-27 16:44:24 +00:00
2016-04-12 20:04:26 +02:00
2019-02-27 16:44:24 +00:00
2019-02-27 16:44:24 +00:00
2019-03-01 17:46:49 +00:00
2016-04-12 20:04:26 +02:00
2019-03-01 17:46:49 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-02-28 09:31:01 +01:00
2019-02-01 12:42:12 +00:00
2019-02-01 12:42:12 +00:00
2019-02-01 12:42:12 +00:00
2019-02-01 12:42:12 +00:00
2016-04-12 20:04:26 +02:00
2019-01-24 17:00:25 +00:00
2019-01-25 09:43:06 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-03-01 19:42:08 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-08 16:20:19 -02:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2019-02-28 09:31:01 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-02-27 16:44:24 +00:00
2018-11-06 17:17:36 +01:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-01-25 09:43:06 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-04-12 20:04:26 +02:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-03-01 17:46:49 +00:00
2017-09-04 22:37:16 +08:00
2018-11-06 17:17:36 +01:00
2019-02-27 16:44:24 +00:00
2019-02-27 16:44:24 +00:00
2019-03-01 17:46:49 +00:00
2019-03-01 17:46:49 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2016-07-20 14:23:48 +08:00
2018-11-06 17:17:36 +01:00
2019-02-28 09:31:01 +01:00
2018-11-06 17:17:36 +01:00
2019-03-04 18:17:08 +00:00
2018-11-06 17:17:36 +01:00
2019-02-28 09:31:01 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-03-01 19:42:07 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-03-01 19:42:08 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-01-29 16:53:29 +01:00
2019-03-18 12:37:14 +00:00
2018-11-07 14:29:30 +01:00