mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-23 22:01:31 +11:00
linux: update wayland dependencies
This commit is contained in:
parent
66a12d5332
commit
e915454a9d
|
@ -37,8 +37,8 @@ kernel32-sys = "0.2"
|
|||
dwmapi-sys = "0.1"
|
||||
|
||||
[target.'cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "openbsd"))'.dependencies]
|
||||
wayland-client = { version = "0.8.6", features = ["dlopen"] }
|
||||
wayland-kbd = "0.8.0"
|
||||
wayland-window = "0.5.0"
|
||||
wayland-client = { version = "0.9.9", features = ["dlopen"] }
|
||||
wayland-kbd = "0.9.1"
|
||||
wayland-window = "0.6.1"
|
||||
tempfile = "2.1"
|
||||
x11-dl = "2.8"
|
||||
|
|
|
@ -114,7 +114,7 @@ extern crate core_graphics;
|
|||
#[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "openbsd"))]
|
||||
extern crate x11_dl;
|
||||
#[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "openbsd"))]
|
||||
#[macro_use(wayland_env,declare_handler)]
|
||||
#[macro_use]
|
||||
extern crate wayland_client;
|
||||
|
||||
pub use events::*;
|
||||
|
|
|
@ -7,7 +7,7 @@ use std::sync::atomic::{self, AtomicBool};
|
|||
use super::{DecoratedHandler, WindowId, DeviceId, WaylandContext};
|
||||
|
||||
|
||||
use wayland_client::{EventQueue, EventQueueHandle, Init, Proxy};
|
||||
use wayland_client::{EventQueue, EventQueueHandle, Init, Proxy, Liveness};
|
||||
use wayland_client::protocol::{wl_seat, wl_surface, wl_pointer, wl_keyboard};
|
||||
|
||||
use super::make_wid;
|
||||
|
@ -159,13 +159,13 @@ impl EventsLoop {
|
|||
}
|
||||
|
||||
fn prune_dead_windows(&self) {
|
||||
self.decorated_ids.lock().unwrap().retain(|&(_, ref w)| w.is_alive());
|
||||
self.decorated_ids.lock().unwrap().retain(|&(_, ref w)| w.status() == Liveness::Alive);
|
||||
let mut evq_guard = self.evq.lock().unwrap();
|
||||
let mut state = evq_guard.state();
|
||||
let handler = state.get_mut_handler::<InputHandler>(self.hid);
|
||||
handler.windows.retain(|w| w.is_alive());
|
||||
handler.windows.retain(|w| w.status() == Liveness::Alive);
|
||||
if let Some(w) = handler.mouse_focus.take() {
|
||||
if w.is_alive() {
|
||||
if w.status() == Liveness::Alive {
|
||||
handler.mouse_focus = Some(w)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue