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> {
X11_BACKEND
.lock()
.as_ref()
.map(Arc::clone)
.map(x11::EventLoop::new)
.map(EventLoop::X)
.map_err(|err| err.clone())
let xconn = match X11_BACKEND.lock().as_ref() {
Ok(xconn) => xconn.clone(),
Err(err) => return Err(err.clone()),
};
Ok(EventLoop::X(x11::EventLoop::new(xconn)))
}
#[inline]