Repository navigation
wlr: fix listener lifetimes and texture rendering for wlroots 0.20 - #6
Merged
Merged
Conversation
DeedleFake
commented
Sep 29, 2026
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.
These are the binding changes kawa needs to stop crashing on wlroots 0.20.
XwaylandSurface.OnAssociateandOnDissociate. Since wlroots 0.17, an Xwayland surface has no wlr_surface untilassociatefires, and it loses it again ondissociate. Without these there was no way to know whenSurface()was safe to use, so adding a map listener atnew_surfacetime dereferenced NULL.XDGToplevel.OnDestroy. wlroots destroys the toplevel before emitting the XDGSurface's destroy event, and asserts that nothing is still listening to the toplevel's events at that point. Listeners on a toplevel have to be removed from its own destroy event.Surface.OnCommit,XDGSurface.InitializedandXDGSurface.InitialCommit. Anything that sends a configure event, such as setting the toplevel size or the decoration mode, asserts if the client hasn't made its initial commit yet. These let callers wait for it.Keyboard.Valid, to match the other types.Seat.GetKeyboardreturns an invalid Keyboard when the seat has none, for example after the last keyboard is removed.RenderPass.AddTextureno longer puts a Go pointer to the alpha value inside the options struct it passes to C. The cgo pointer check panicked on every call.