Improve error handling and resource cleanup in linux/x11/window.rs#21079
Merged
Conversation
8381c5c to
0a7495d
Compare
* Fixes registration of event handler for xinput-2 device changes, revealed by this improvement. * Pushes `.unwrap()` panic-ing outwards to callers. * Includes a description of what the X11 call was doing when a failure was encountered. * Fixes a variety of places where the X11 reply wasn't being inspected for failures. * Destroys windows on failure during setup. New structure makes it possible for the caller of `open_window` to carry on despite failures, and so partially initialized window should be removed (though all calls I looked at also panic currently). Considered pushing this through `linux/x11/client.rs` too but figured it'd be nice to minimize merge conflicts with #20853.
0a7495d to
ed01141
Compare
mgsloan
added a commit
that referenced
this pull request
Jun 18, 2025
Continuing this work from a while back in #21079, now greatly aided by agent + sonnet 4
mgsloan
added a commit
that referenced
this pull request
Jun 18, 2025
Now there are only a few spots that explicitly panic, though errors during initialization will panic. Continuing this work from a while back in #21079, now greatly aided by agent + sonnet 4
mgsloan
added a commit
that referenced
this pull request
Jun 18, 2025
Now there are only a few spots that explicitly panic, though errors during initialization will panic. Continuing this work from a while back in #21079, now greatly aided by agent + sonnet 4
mgsloan
added a commit
that referenced
this pull request
Jun 18, 2025
Now there are only a few spots that explicitly panic, though errors during initialization will panic. Continuing this work from a while back in #21079, now greatly aided by agent + sonnet 4
mgsloan
added a commit
that referenced
this pull request
Jun 18, 2025
Now there are only a few spots that explicitly panic, though errors during initialization will panic. Continuing this work from a while back in #21079, now greatly aided by agent + sonnet 4
mgsloan
added a commit
that referenced
this pull request
Jun 18, 2025
Continuing this work from a while back in #21079, now greatly aided by agent + sonnet 4. With this change, there are now only a few spots that explicitly panic, though errors during initialization will panic. Motivation was this recent user panic in `handle_event`, figured fixing all this use of unwrap was a great use of the agent. > called `Result::unwrap()` on an `Err` value: X11 GetProperty for _NET_WM_STATE failed. Release Notes: - N/A
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.
Fixes registration of event handler for xinput-2 device changes, revealed by this improvement.
Pushes
.unwrap()panic-ing outwards to callers.Includes a description of what the X11 call was doing when a failure was encountered.
Fixes a variety of places where the X11 reply wasn't being inspected for failures.
Destroys windows on failure during setup. New structure makes it possible for the caller of
open_windowto carry on despite failures, and so partially initialized window should be removed (though all calls I looked at also panic currently).Considered pushing this through
linux/x11/client.rstoo but figured it'd be nice to minimize merge conflicts with #20853.Release Notes: