GNOME Bugzilla – Bug 770131
wayland: Fix subsurface actor state synchronization
Last modified: 2016-08-25 04:49:00 UTC
The surface actor of subsurfaces was not properly synchronized since 'e73166bcd5b112122f9e4c7e6db48ab925f199e8'. These patches fixes that.
Created attachment 333611 [details] [review] wayland: Use correct GObject parent in subsurface role object The parent of MetaWaylandSurfaceRoleSubsurface is MetaWaylandSurfaceRoleActorSurface thus use that as the GObject parent.
Created attachment 333612 [details] [review] wayland/actor-surface-role: Check for toplevel window Don't check whether the surface of the role has a window, but whether the corresponding toplevel surface has a window. This is necessary to make subsurfaces not always early out.
Created attachment 333613 [details] [review] wayland/subsurface: Call commit of surface-actor-role on commit Rely on the actor surface role's commit function for queuing frame callbacks. This also makes the surface actor state synchronization work again, which was broken by 'wayland: Sync surface actor state in actor role commit handler'.
Review of attachment 333611 [details] [review]: yeah, too many types :-P
Review of attachment 333612 [details] [review]: this patch doesn't apply here but looks good
Review of attachment 333613 [details] [review]: makes sense
(In reply to Rui Matos from comment #5) > Review of attachment 333612 [details] [review] [review]: > > this patch doesn't apply here but looks good Yea, these are on top of the xdg-shell v6 patches (found this issue while testing those patches). Thanks for the review.
Pushed thes ones, as well as one more that was needed that handled commits of subsurfaces part of on non-mapped windows. Attachment 333611 [details] pushed as 4cf14c4 - wayland: Use correct GObject parent in subsurface role object Attachment 333612 [details] pushed as 43151ed - wayland/actor-surface-role: Check for toplevel window Attachment 333613 [details] pushed as b6e13c4 - wayland/subsurface: Call commit of surface-actor-role on commit