This commit makes it so a wl_output.done event is guaranteed to be sent with a
xdg_output.done event.
Humm, I am not sure I like changing xdg-output to rely on another protocol
event, it's looks like a weird mixup to me...
As noted below, this is idiomatic in the Wayland protocol. The
wl_surface.commit request applies xdg_surface's state.
Just to expand on this with my two-cents, many of the Wayland protocol
objects are conceptually extensions of other protocol objects.
xdg_surface extends wl_surface, xdg_toplevel extends xdg_surface, and if
we want to go cross-extension-protocol, xdg_toplevel_decoration extends
xdg_toplevel.
While this is 4 protocol objects, we're conceptually just dealing with a
single surface's state. The protocol objects are simply adding new
interfaces to that surface and are meaningless on their own. We want to
keep that surface's state consistent, so they need to share the same
synchronisation to ensure atomicity, which includes wl_output.commit and
xdg_surface.configure.
So there is certainly precedence for relying on the events and requests
of other protocols.
Now applying that to xdg_output, it's simply adding interfaces to an
wl_output object, and isn't meaningful on its own. It only makes sense
to synchronise it properly with wl_output.
Scott
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel