gpui: Don't panic on failing to set X11 cursor style (#21689)

One more panic (well, two) that should be a `log_err`.

Release Notes:

- N/A
This commit is contained in:
Cole Miller 2024-12-08 13:30:23 -05:00 committed by GitHub
parent 4b93a5ca44
commit ac07b9197a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 3 deletions

View file

@ -9,6 +9,7 @@ use std::time::{Duration, Instant};
use calloop::generic::{FdWrapper, Generic}; use calloop::generic::{FdWrapper, Generic};
use calloop::{EventLoop, LoopHandle, RegistrationToken}; use calloop::{EventLoop, LoopHandle, RegistrationToken};
use anyhow::Context as _;
use collections::HashMap; use collections::HashMap;
use http_client::Url; use http_client::Url;
use smallvec::SmallVec; use smallvec::SmallVec;
@ -1417,9 +1418,10 @@ impl LinuxClient for X11Client {
..Default::default() ..Default::default()
}, },
) )
.expect("failed to change window cursor") .anyhow()
.check() .and_then(|cookie| cookie.check().anyhow())
.unwrap(); .context("setting cursor style")
.log_err();
} }
fn open_uri(&self, uri: &str) { fn open_uri(&self, uri: &str) {

View file

@ -206,6 +206,9 @@ pub trait ResultExt<E> {
/// Assert that this result should never be an error in development or tests. /// Assert that this result should never be an error in development or tests.
fn debug_assert_ok(self, reason: &str) -> Self; fn debug_assert_ok(self, reason: &str) -> Self;
fn warn_on_err(self) -> Option<Self::Ok>; fn warn_on_err(self) -> Option<Self::Ok>;
fn anyhow(self) -> anyhow::Result<Self::Ok>
where
E: Into<anyhow::Error>;
} }
impl<T, E> ResultExt<E> for Result<T, E> impl<T, E> ResultExt<E> for Result<T, E>
@ -243,6 +246,13 @@ where
} }
} }
} }
fn anyhow(self) -> anyhow::Result<T>
where
E: Into<anyhow::Error>,
{
self.map_err(Into::into)
}
} }
fn log_error_with_caller<E>(caller: core::panic::Location<'_>, error: E, level: log::Level) fn log_error_with_caller<E>(caller: core::panic::Location<'_>, error: E, level: log::Level)