Olivier Fourdan
934a829a57
wayland/subsurface: Keep subsurface actors reactive
...
The actors of Wayland subsurfaces are set to be reactive on creation,
when receiving the `wl_subcompositor.get_subsurface` request.
However, if a client creates several subsurfaces and then creates the
xdg_toplevel object after, the previous subsurface actors are reset.
As a result, Clutter picking will skip and ignore those actors in
`clutter_actor_should_pick_paint()` because they aren't marked as
reactive anymore.
An example of such a client being affected by this issue is SCTK, the
Rust library implementing client side decorations for Wayland used
internally by winit and alacritty.
Move the `set_reactive()` call from `get_subsurface()` to the subsurface
`sync_actor_subsurface_state()` vfunc to make sure those remain reactive
even after `xdg_surface.get_toplevel` is invoked.
Closes: https://gitlab.gnome.org/GNOME/mutter/issues/1024
https://gitlab.gnome.org/GNOME/mutter/merge_requests/1040
2020-02-10 08:51:41 +00:00
..
2019-01-26 18:07:03 +01:00
2018-06-15 19:09:53 +00:00
2018-06-15 19:09:53 +00:00
2020-01-30 18:12:58 +01:00
2016-02-16 19:02:48 +08:00
2019-01-06 21:57:16 +01:00
2016-02-16 19:02:48 +08:00
2019-10-11 23:04:01 +02:00
2019-10-11 23:04:01 +02:00
2020-02-07 18:05:49 +01:00
2020-01-10 16:01:22 +00:00
2020-01-10 16:01:22 +00:00
2020-01-10 16:01:22 +00:00
2019-12-09 10:09:40 +01:00
2018-11-06 17:17:36 +01:00
2019-11-06 15:59:16 +01:00
2020-02-01 15:14:52 +00:00
2020-01-27 14:07:47 +00:00
2020-01-10 16:01:22 +00:00
2020-01-10 16:01:22 +00:00
2019-12-09 10:09:40 +01:00
2019-01-22 18:32:28 +01:00
2020-01-10 16:01:21 +00:00
2020-01-10 16:01:21 +00:00
2019-11-21 15:02:27 +00:00
2018-11-27 15:34:13 +01:00
2019-11-21 15:02:27 +00:00
2018-11-06 17:17:36 +01:00
2019-11-21 15:02:27 +00:00
2018-11-06 17:17:36 +01:00
2016-10-11 22:51:50 +08:00
2016-10-11 22:51:50 +08:00
2020-01-30 18:01:50 +01:00
2019-06-24 18:24:57 +02:00
2019-12-09 10:09:40 +01:00
2018-11-06 17:17:36 +01:00
2019-09-05 07:29:10 +00:00
2018-11-19 14:58:48 +00:00
2020-01-30 18:12:58 +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-06 17:17:36 +01:00
2020-02-05 18:09:34 +08:00
2019-11-21 15:02:27 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-08-06 00:41:36 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2020-01-30 18:02:34 +01:00
2018-11-06 17:17:36 +01:00
2020-01-10 16:01:21 +00:00
2019-12-09 10:09:40 +01:00
2020-02-10 08:51:41 +00:00
2018-02-23 18:57:47 +08:00
2020-01-30 09:37:58 +01:00
2020-01-10 16:01:21 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2020-01-30 18:02:34 +01:00
2018-11-06 17:17:36 +01:00
2019-08-24 08:59:08 +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
2019-11-05 13:07:47 +00:00
2018-11-06 17:17:36 +01:00
2020-01-30 18:02:34 +01:00
2020-01-30 18:02:34 +01:00
2020-01-10 16:01:21 +00:00
2019-11-21 15:02:27 +00:00
2018-11-06 17:17:36 +01:00
2018-11-06 17:17:36 +01:00
2019-10-16 11:38:14 +00:00
2018-11-06 17:17:36 +01:00
2019-10-16 11:38:14 +00:00
2018-11-06 17:17:36 +01:00
2020-01-30 18:02:34 +01:00
2020-01-30 18:02:34 +01:00
2019-12-09 10:09:40 +01:00
2019-08-21 15:47:14 +00:00
2019-12-09 10:09:40 +01:00
2019-02-06 12:24:03 +00:00
2019-12-09 10:09:40 +01:00
2019-12-09 10:09:40 +01:00
2019-12-09 10:09:40 +01:00
2018-02-23 18:57:40 +08:00
2019-11-21 15:02:27 +00:00
2016-08-22 21:03:41 +08:00
2019-12-09 10:09:40 +01:00
2018-02-23 18:57:53 +08:00
2020-01-24 21:10:11 +00:00
2019-06-19 15:19:05 +00:00
2020-01-24 21:10:11 +00:00
2019-12-09 10:09:40 +01:00
2020-01-16 09:22:25 +01:00
2017-12-18 13:15:09 +01:00
2019-05-02 16:31:45 +02:00
2020-01-27 14:07:47 +00:00
2019-11-21 15:02:27 +00:00
2018-11-06 17:17:36 +01:00
2019-08-19 17:14:40 +02:00
2019-12-10 09:15:49 +00:00
2019-01-23 14:18:13 +01:00