X11: Fix deadlock when an error occurs during startup (#1475)

This commit is contained in:
Murarth 2020-02-19 10:39:00 -07:00 committed by GitHub
parent 522a6e3298
commit 9999f53329
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -584,13 +584,12 @@ impl<T: 'static> EventLoop<T> {
} }
pub fn new_x11_any_thread() -> Result<EventLoop<T>, XNotSupported> { pub fn new_x11_any_thread() -> Result<EventLoop<T>, XNotSupported> {
X11_BACKEND let xconn = match X11_BACKEND.lock().as_ref() {
.lock() Ok(xconn) => xconn.clone(),
.as_ref() Err(err) => return Err(err.clone()),
.map(Arc::clone) };
.map(x11::EventLoop::new)
.map(EventLoop::X) Ok(EventLoop::X(x11::EventLoop::new(xconn)))
.map_err(|err| err.clone())
} }
#[inline] #[inline]