On March 16, 2018 1:22 PM, Pekka Paalanen <ppaala...@gmail.com> wrote: > > > I'm missing a comment that describes what happens if the xdg_toplevel is > > > destroyed. There is some object dependency here that needs to be stated. > > > Do > > > we need an event here? Or are we assuming that clients are smart enough to > > > keep track of destroy events. Either way - needs to be explicitly stated. > > > > > > > What about requiring clients to destroy the zxdg_toplevel_decoration_v1 > > before > > the xdg_toplevel? > > Hi, > > you can, but then you need an error code for clients that get it wrong. > > A common convention is to instead say that zxdg_toplevel_decoration_v1 > becomes "inert" when the associated xdg_toplevel is destroyed. It means > the object will not send any events, and all requests except destroy > will be ignored. This approach is often used with racy cases where > requiring a single order of actions is not possible, and it comes with > the disadvantage of needing to define what happens if you pass an inert > object of this type as an argument in some other interface, or if the > inert object had requests that create more objects.
Thanks for the explanation! > Both ways are possible. You may want to check how xdg_toplevel deals > with xdg_surface destruction and how xdg_surface deals with wl_surface > destruction. Maybe consistency would be the best plan? The protocol states that: "An xdg_surface must only be destroyed after its role object has been destroyed". But it doesn't define any error type for protocol violations. I didn't find anything about the relationship between xdg_surface and xdg_surface. So I'm not sure what to do to be consistent with xdg-shell. The options are: - Become inert - Send an error on the decoration object - Automatically destroying the decoration when the toplevel is destroyed? I'll just go with becoming inert for now. Let me know what you think. > Thanks, > pq _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel