On Mon, 6 Oct 2014 10:45:14 +0300 Pekka Paalanen <[email protected]> wrote:
> Re-adding CCs and some more... > > On Mon, 06 Oct 2014 09:17:41 +0300 > Rémi Denis-Courmont <[email protected]> wrote: > > > Hello, > > > > Le 2014-10-06 03:29, Jason Ekstrand a écrit : > > > Remi, > > > While this would probably be nice, your approach isnt going to work. > > > > Yeah, I figured that much after I submitted the patch. And then I > > rediscovered that the client library does not actually know the version > > of the project objects, and wl_registry_bind() cannot be modified > > without breaking backward compatibility. > > > > But now, I am even wondering whether this makes any sense. Assuming > > wl_proxy_get_version() gets implemented "somehow", what should the > > library do if the proxy version is *higher* than version the library > > knows of? Say a new version Y of an interface FOO adds a new request and > > a new event compared to older version X. If a FOO object is instantiated > > with version Y but the new request is never used and there is no event > > handler for the new event, will it still work as with version X? I guess > > not :-( > > If there is no event handler set, the client will abort/crash if the > event is ever sent. > > > In my specific case, can the Wayland client treat a wl_surface version > > 4 or higher as a wl_surface version 3? If not, I cannot rely on > > 'wl_proxy_get_version(surface) >= 2'... > > Changing the semantics[5] of wl_surface.damage is a good example where > this would fail indeed. If a library only knows up to version 3, but > the app gives it a wl_surface of version 4, the damage coordinates > would be wrong. > > Originally we had the idea, that all version bumps are backwards > compatible. Simply testing for version >= X would always work. The > wl_surface.damage change is not backwards compatible in that sense. > > Looks to me like if we don't fix damage, then this versioning problem > would be solvable... :-( Oh I'm being silly, we only need to fix damage in a backward compatible way: add a new request, don't modify the behaviour of the old one. Keeping backward compatibility wrt. version >= X checks seems like a good idea and should reduce the problem set somewhat. > [5] https://bugs.freedesktop.org/show_bug.cgi?id=78190 Thanks, pq _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
