linux: update wayland dependencies

This commit is contained in:
Victor Berger 2017-06-23 20:25:06 +02:00
parent 66a12d5332
commit e915454a9d
3 changed files with 8 additions and 8 deletions

View file

@ -37,8 +37,8 @@ kernel32-sys = "0.2"
dwmapi-sys = "0.1" dwmapi-sys = "0.1"
[target.'cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "openbsd"))'.dependencies] [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-client = { version = "0.9.9", features = ["dlopen"] }
wayland-kbd = "0.8.0" wayland-kbd = "0.9.1"
wayland-window = "0.5.0" wayland-window = "0.6.1"
tempfile = "2.1" tempfile = "2.1"
x11-dl = "2.8" x11-dl = "2.8"

View file

@ -114,7 +114,7 @@ extern crate core_graphics;
#[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "openbsd"))] #[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "openbsd"))]
extern crate x11_dl; extern crate x11_dl;
#[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "openbsd"))] #[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; extern crate wayland_client;
pub use events::*; pub use events::*;

View file

@ -7,7 +7,7 @@ use std::sync::atomic::{self, AtomicBool};
use super::{DecoratedHandler, WindowId, DeviceId, WaylandContext}; 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 wayland_client::protocol::{wl_seat, wl_surface, wl_pointer, wl_keyboard};
use super::make_wid; use super::make_wid;
@ -159,13 +159,13 @@ impl EventsLoop {
} }
fn prune_dead_windows(&self) { 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 evq_guard = self.evq.lock().unwrap();
let mut state = evq_guard.state(); let mut state = evq_guard.state();
let handler = state.get_mut_handler::<InputHandler>(self.hid); 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 let Some(w) = handler.mouse_focus.take() {
if w.is_alive() { if w.status() == Liveness::Alive {
handler.mouse_focus = Some(w) handler.mouse_focus = Some(w)
} }
} }