fix: support calls to constructors with new_id not as first param#9
Open
FireyFly wants to merge 1 commit into
Open
fix: support calls to constructors with new_id not as first param#9FireyFly wants to merge 1 commit into
new_id not as first param#9FireyFly wants to merge 1 commit into
Conversation
Existing code assumed calls to wayland methods returning proxies (constructors) had the returned `new_id` as its first parameter. Might be better to use a table rather than do list operations on the varargs/rest parameers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Existing code assumed calls to wayland methods returning proxies (constructors) had the returned
new_idas its first parameter. This works for most Wayland protocols, but breaks for e.g. river_xkb_bindings_v1::get_xkb_binding.Instead, update the marshaling of constructors to specifically look for the
new_idparameter index and insert anilparameter in its place. In case of anew_idwithout a defined interface, we pluck out interface name and version before thenil(theVERSIONED_CONSTRUCTORcase in the diff)It might make more sense to use a reified table rather than the varargs/rest parameters for doing the inserts/etc... but this is what I ended up with for now, and it works fine.