Merge pull request #100 from yzhs/clippy-warnings

Address some more clippy warnings
This commit is contained in:
Victor Berger 2018-06-30 10:02:57 +02:00 committed by GitHub
commit 824ef5c186
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 143 additions and 148 deletions

View File

@ -303,12 +303,11 @@ enum KeyAction {
} }
fn process_keyboard_shortcut(modifiers: &ModifiersState, keysym: Keysym) -> KeyAction { fn process_keyboard_shortcut(modifiers: &ModifiersState, keysym: Keysym) -> KeyAction {
if modifiers.ctrl && modifiers.alt && keysym == xkb::KEY_BackSpace { if modifiers.ctrl && modifiers.alt && keysym == xkb::KEY_BackSpace
// ctrl+alt+backspace = quit || modifiers.logo && keysym == xkb::KEY_q {
KeyAction::Quit // ctrl+alt+backspace = quit
} else if modifiers.logo && keysym == xkb::KEY_q { // logo + q = quit
// logo + q = quit KeyAction::Quit
KeyAction::Quit
} else if keysym >= xkb::KEY_XF86Switch_VT_1 && keysym <= xkb::KEY_XF86Switch_VT_12 { } else if keysym >= xkb::KEY_XF86Switch_VT_1 && keysym <= xkb::KEY_XF86Switch_VT_12 {
// VTSwicth // VTSwicth
KeyAction::VtSwitch((keysym - xkb::KEY_XF86Switch_VT_1 + 1) as i32) KeyAction::VtSwitch((keysym - xkb::KEY_XF86Switch_VT_1 + 1) as i32)

View File

@ -44,7 +44,7 @@ fn main() {
let (mut display, mut event_loop) = Display::new(); let (mut display, mut event_loop) = Display::new();
let arg = ::std::env::args().skip(1).next(); let arg = ::std::env::args().nth(1);
match arg.as_ref().map(|s| &s[..]) { match arg.as_ref().map(|s| &s[..]) {
#[cfg(feature = "winit")] #[cfg(feature = "winit")]
Some("--winit") => { Some("--winit") => {
@ -69,7 +69,7 @@ fn main() {
} }
_ => { _ => {
println!("USAGE: anvil --backend"); println!("USAGE: anvil --backend");
println!(""); println!();
println!("Possible backends are:"); println!("Possible backends are:");
for b in POSSIBLE_BACKENDS { for b in POSSIBLE_BACKENDS {
println!("\t{}", b); println!("\t{}", b);

View File

@ -36,7 +36,7 @@ macro_rules! opengl_programs(
* OpenGL Shaders * OpenGL Shaders
*/ */
pub const VERTEX_SHADER: &'static str = r#" pub const VERTEX_SHADER: &str = r#"
#version 100 #version 100
uniform lowp mat4 matrix; uniform lowp mat4 matrix;
attribute lowp vec2 position; attribute lowp vec2 position;
@ -50,7 +50,7 @@ void main() {
pub const FRAGMENT_COUNT: usize = 5; pub const FRAGMENT_COUNT: usize = 5;
pub const BUFFER_RGBA: usize = 0; pub const BUFFER_RGBA: usize = 0;
pub const FRAGMENT_SHADER_RGBA: &'static str = r#" pub const FRAGMENT_SHADER_RGBA: &str = r#"
#version 100 #version 100
uniform lowp sampler2D tex; uniform lowp sampler2D tex;
varying lowp vec2 v_tex_coords; varying lowp vec2 v_tex_coords;
@ -64,7 +64,7 @@ void main() {
"#; "#;
pub const BUFFER_ABGR: usize = 1; pub const BUFFER_ABGR: usize = 1;
pub const FRAGMENT_SHADER_ABGR: &'static str = r#" pub const FRAGMENT_SHADER_ABGR: &str = r#"
#version 100 #version 100
uniform lowp sampler2D tex; uniform lowp sampler2D tex;
varying lowp vec2 v_tex_coords; varying lowp vec2 v_tex_coords;
@ -78,7 +78,7 @@ void main() {
"#; "#;
pub const BUFFER_XBGR: usize = 2; pub const BUFFER_XBGR: usize = 2;
pub const FRAGMENT_SHADER_XBGR: &'static str = r#" pub const FRAGMENT_SHADER_XBGR: &str = r#"
#version 100 #version 100
uniform lowp sampler2D tex; uniform lowp sampler2D tex;
varying lowp vec2 v_tex_coords; varying lowp vec2 v_tex_coords;
@ -92,7 +92,7 @@ void main() {
"#; "#;
pub const BUFFER_BGRA: usize = 3; pub const BUFFER_BGRA: usize = 3;
pub const FRAGMENT_SHADER_BGRA: &'static str = r#" pub const FRAGMENT_SHADER_BGRA: &str = r#"
#version 100 #version 100
uniform lowp sampler2D tex; uniform lowp sampler2D tex;
varying lowp vec2 v_tex_coords; varying lowp vec2 v_tex_coords;
@ -106,7 +106,7 @@ void main() {
"#; "#;
pub const BUFFER_BGRX: usize = 4; pub const BUFFER_BGRX: usize = 4;
pub const FRAGMENT_SHADER_BGRX: &'static str = r#" pub const FRAGMENT_SHADER_BGRX: &str = r#"
#version 100 #version 100
uniform lowp sampler2D tex; uniform lowp sampler2D tex;
varying lowp vec2 v_tex_coords; varying lowp vec2 v_tex_coords;

View File

@ -55,7 +55,7 @@ pub fn init_shell(
let (xdg_shell_state, _, _) = xdg_shell_init( let (xdg_shell_state, _, _) = xdg_shell_init(
display, display,
looptoken.clone(), looptoken.clone(),
compositor_token.clone(), compositor_token,
move |shell_event, ()| match shell_event { move |shell_event, ()| match shell_event {
XdgRequest::NewToplevel { surface } => { XdgRequest::NewToplevel { surface } => {
// place the window at a random location in the [0;300]x[0;300] square // place the window at a random location in the [0;300]x[0;300] square
@ -88,12 +88,12 @@ pub fn init_shell(
let (wl_shell_state, _) = wl_shell_init( let (wl_shell_state, _) = wl_shell_init(
display, display,
looptoken, looptoken,
compositor_token.clone(), compositor_token,
move |req: ShellRequest<_, _, ()>, ()| match req { move |req: ShellRequest<_, _, ()>, ()|
ShellRequest::SetKind { if let ShellRequest::SetKind {
surface, surface,
kind: ShellSurfaceKind::Toplevel, kind: ShellSurfaceKind::Toplevel,
} => { } = req {
// place the window at a random location in the [0;300]x[0;300] square // place the window at a random location in the [0;300]x[0;300] square
use rand::distributions::{IndependentSample, Range}; use rand::distributions::{IndependentSample, Range};
let range = Range::new(0, 300); let range = Range::new(0, 300);
@ -104,9 +104,7 @@ pub fn init_shell(
shell_window_map shell_window_map
.borrow_mut() .borrow_mut()
.insert(SurfaceKind::Wl(surface), (x, y)); .insert(SurfaceKind::Wl(surface), (x, y));
} },
_ => (),
},
log.clone(), log.clone(),
); );

View File

@ -5,7 +5,7 @@ use smithay::wayland_server::protocol::wl_shm::Format;
use glium::texture::{ClientFormat, RawImage2d}; use glium::texture::{ClientFormat, RawImage2d};
pub fn load_shm_buffer<'a>(data: BufferData, pool: &'a [u8]) -> Result<(RawImage2d<'a, u8>, usize), Format> { pub fn load_shm_buffer(data: BufferData, pool: &[u8]) -> Result<(RawImage2d<u8>, usize), Format> {
let offset = data.offset as usize; let offset = data.offset as usize;
let width = data.width as usize; let width = data.width as usize;
let height = data.height as usize; let height = data.height as usize;

View File

@ -105,7 +105,7 @@ pub fn run_udev(mut display: Display, mut event_loop: EventLoop, log: Logger) ->
let (mut w_seat, _) = Seat::new( let (mut w_seat, _) = Seat::new(
&mut display.borrow_mut(), &mut display.borrow_mut(),
event_loop.token(), event_loop.token(),
session.seat().into(), session.seat(),
log.clone(), log.clone(),
); );
@ -174,7 +174,7 @@ pub fn run_udev(mut display: Display, mut event_loop: EventLoop, log: Logger) ->
.unwrap(); .unwrap();
while running.load(Ordering::SeqCst) { while running.load(Ordering::SeqCst) {
if let Err(_) = event_loop.dispatch(Some(16)) { if event_loop.dispatch(Some(16)).is_err() {
running.store(false, Ordering::SeqCst); running.store(false, Ordering::SeqCst);
} else { } else {
display.borrow_mut().flush_clients(); display.borrow_mut().flush_clients();
@ -288,7 +288,7 @@ impl UdevHandler<DrmHandlerImpl> for UdevHandlerImpl {
self.backends.insert(device.device_id(), backends.clone()); self.backends.insert(device.device_id(), backends.clone());
Some(DrmHandlerImpl { Some(DrmHandlerImpl {
compositor_token: self.compositor_token.clone(), compositor_token: self.compositor_token,
backends, backends,
window_map: self.window_map.clone(), window_map: self.window_map.clone(),
pointer_location: self.pointer_location.clone(), pointer_location: self.pointer_location.clone(),
@ -298,7 +298,7 @@ impl UdevHandler<DrmHandlerImpl> for UdevHandlerImpl {
fn device_changed(&mut self, device: &mut DrmDevice<SessionFdDrmDevice>) { fn device_changed(&mut self, device: &mut DrmDevice<SessionFdDrmDevice>) {
//quick and dirt, just re-init all backends //quick and dirt, just re-init all backends
let backends = self.backends.get(&device.device_id()).unwrap(); let backends = &self.backends[&device.device_id()];
*backends.borrow_mut() = self.scan_connectors(device, self.active_egl_context.clone()); *backends.borrow_mut() = self.scan_connectors(device, self.active_egl_context.clone());
} }

View File

@ -155,22 +155,22 @@ where
{ {
pub fn new(ctoken: CompositorToken<U, R>, get_size: F) -> WindowMap<U, R, D, SD, F> { pub fn new(ctoken: CompositorToken<U, R>, get_size: F) -> WindowMap<U, R, D, SD, F> {
WindowMap { WindowMap {
ctoken: ctoken, ctoken,
windows: Vec::new(), windows: Vec::new(),
get_size: get_size, get_size,
} }
} }
pub fn insert(&mut self, toplevel: Kind<U, R, SD, D>, location: (i32, i32)) { pub fn insert(&mut self, toplevel: Kind<U, R, SD, D>, location: (i32, i32)) {
let mut window = Window { let mut window = Window {
location: location, location,
surface: Rectangle { surface: Rectangle {
x: 0, x: 0,
y: 0, y: 0,
width: 0, width: 0,
height: 0, height: 0,
}, },
toplevel: toplevel, toplevel,
}; };
window.self_update(self.ctoken, &self.get_size); window.self_update(self.ctoken, &self.get_size);
self.windows.insert(0, window); self.windows.insert(0, window);
@ -219,7 +219,7 @@ where
pub fn refresh(&mut self) { pub fn refresh(&mut self) {
self.windows.retain(|w| w.toplevel.alive()); self.windows.retain(|w| w.toplevel.alive());
for w in self.windows.iter_mut() { for w in &mut self.windows {
w.self_update(self.ctoken, &self.get_size); w.self_update(self.ctoken, &self.get_size);
} }
} }

View File

@ -171,11 +171,11 @@ impl<A: Device + 'static> DrmBackend<A> {
if !encoders if !encoders
.iter() .iter()
.map(|encoder| encoder.possible_crtcs()) .map(|encoder| encoder.possible_crtcs())
.all(|crtc_list| { .all(|crtc_list|
resource_handles resource_handles
.filter_crtcs(crtc_list) .filter_crtcs(crtc_list)
.contains(&self.backend.crtc) .contains(&self.backend.crtc)
}) { ) {
bail!(ErrorKind::NoSuitableEncoder(info, self.backend.crtc)); bail!(ErrorKind::NoSuitableEncoder(info, self.backend.crtc));
} }
@ -473,12 +473,13 @@ impl<A: Device + 'static> GraphicsBackend for DrmBackend<A> {
impl<A: Device + 'static> EGLGraphicsBackend for DrmBackend<A> { impl<A: Device + 'static> EGLGraphicsBackend for DrmBackend<A> {
fn swap_buffers(&self) -> ::std::result::Result<(), SwapBuffersError> { fn swap_buffers(&self) -> ::std::result::Result<(), SwapBuffersError> {
if { let res = {
let nb = self.backend.next_buffer.take(); let nb = self.backend.next_buffer.take();
let res = nb.is_some(); let res = nb.is_some();
self.backend.next_buffer.set(nb); self.backend.next_buffer.set(nb);
res res
} { };
if res {
// We cannot call lock_front_buffer anymore without releasing the previous buffer, which will happen when the page flip is done // We cannot call lock_front_buffer anymore without releasing the previous buffer, which will happen when the page flip is done
warn!( warn!(
self.backend.logger, self.backend.logger,

View File

@ -328,7 +328,7 @@ impl<A: ControlDevice + 'static> DrmDevice<A> {
info!(log, "DrmDevice initializing"); info!(log, "DrmDevice initializing");
// we want to mode-set, so we better be the master, if we run via a tty session // we want to mode-set, so we better be the master, if we run via a tty session
if let Err(_) = drm.set_master() { if drm.set_master().is_err() {
warn!( warn!(
log, log,
"Unable to become drm master, assuming unpriviledged mode" "Unable to become drm master, assuming unpriviledged mode"
@ -594,7 +594,7 @@ where
fn receive(&mut self, event: FdEvent, (): ()) { fn receive(&mut self, event: FdEvent, (): ()) {
let mut device = self.device.borrow_mut(); let mut device = self.device.borrow_mut();
match event { match event {
FdEvent::Ready { .. } => match crtc::receive_events(&mut *device) { FdEvent::Ready { .. } => match crtc::receive_events(&*device) {
Ok(events) => for event in events { Ok(events) => for event in events {
if let crtc::Event::PageFlip(event) = event { if let crtc::Event::PageFlip(event) = event {
if device.active.load(Ordering::SeqCst) { if device.active.load(Ordering::SeqCst) {
@ -643,7 +643,7 @@ impl<A: ControlDevice + 'static> AsSessionObserver<DrmDeviceObserver<A>> for Drm
fn observer(&mut self) -> DrmDeviceObserver<A> { fn observer(&mut self) -> DrmDeviceObserver<A> {
DrmDeviceObserver { DrmDeviceObserver {
context: Rc::downgrade(&self.context), context: Rc::downgrade(&self.context),
device_id: self.device_id.clone(), device_id: self.device_id,
backends: self.backends.clone(), backends: self.backends.clone(),
old_state: self.old_state.clone(), old_state: self.old_state.clone(),
active: self.active.clone(), active: self.active.clone(),
@ -662,7 +662,7 @@ impl<A: ControlDevice + 'static> SessionObserver for DrmDeviceObserver<A> {
} }
} }
if let Some(device) = self.context.upgrade() { if let Some(device) = self.context.upgrade() {
for (handle, &(ref info, ref connectors)) in self.old_state.iter() { for (handle, &(ref info, ref connectors)) in &self.old_state {
if let Err(err) = crtc::set( if let Err(err) = crtc::set(
&*device, &*device,
*handle, *handle,

View File

@ -179,7 +179,7 @@ unsafe impl NativeDisplay<X11> for WinitWindow {
fn create_surface(&self, _args: ()) -> Result<XlibWindow> { fn create_surface(&self, _args: ()) -> Result<XlibWindow> {
self.get_xlib_window() self.get_xlib_window()
.map(|ptr| XlibWindow(ptr)) .map(XlibWindow)
.ok_or(ErrorKind::NonMatchingBackend("X11").into()) .ok_or(ErrorKind::NonMatchingBackend("X11").into())
} }
} }

View File

@ -24,9 +24,9 @@ pub struct Seat {
impl Seat { impl Seat {
pub(crate) fn new<S: ToString>(id: u64, name: S, capabilities: SeatCapabilities) -> Seat { pub(crate) fn new<S: ToString>(id: u64, name: S, capabilities: SeatCapabilities) -> Seat {
Seat { Seat {
id: id, id,
name: name.to_string(), name: name.to_string(),
capabilities: capabilities, capabilities,
} }
} }
@ -331,7 +331,7 @@ pub struct TouchSlot {
impl TouchSlot { impl TouchSlot {
pub(crate) fn new(id: u64) -> Self { pub(crate) fn new(id: u64) -> Self {
TouchSlot { id: id } TouchSlot { id }
} }
} }

View File

@ -43,7 +43,7 @@ impl LibinputInputBackend {
let log = ::slog_or_stdlog(logger).new(o!("smithay_module" => "backend_libinput")); let log = ::slog_or_stdlog(logger).new(o!("smithay_module" => "backend_libinput"));
info!(log, "Initializing a libinput backend"); info!(log, "Initializing a libinput backend");
LibinputInputBackend { LibinputInputBackend {
context: context, context,
devices: Vec::new(), devices: Vec::new(),
seats: HashMap::new(), seats: HashMap::new(),
handler: None, handler: None,
@ -404,7 +404,7 @@ impl backend::InputBackend for LibinputInputBackend {
use input::event::touch::*; use input::event::touch::*;
if let Some(ref mut handler) = self.handler { if let Some(ref mut handler) = self.handler {
let device_seat = touch_event.device().seat(); let device_seat = touch_event.device().seat();
if let &Some(ref seat) = &self.seats.get(&device_seat) { if let Some(ref seat) = self.seats.get(&device_seat) {
match touch_event { match touch_event {
TouchEvent::Down(down_event) => { TouchEvent::Down(down_event) => {
trace!(self.logger, "Calling on_touch_down with {:?}", down_event); trace!(self.logger, "Calling on_touch_down with {:?}", down_event);
@ -446,7 +446,7 @@ impl backend::InputBackend for LibinputInputBackend {
match keyboard_event { match keyboard_event {
KeyboardEvent::Key(key_event) => if let Some(ref mut handler) = self.handler { KeyboardEvent::Key(key_event) => if let Some(ref mut handler) = self.handler {
let device_seat = key_event.device().seat(); let device_seat = key_event.device().seat();
if let &Some(ref seat) = &self.seats.get(&device_seat) { if let Some(ref seat) = self.seats.get(&device_seat) {
trace!(self.logger, "Calling on_keyboard_key with {:?}", key_event); trace!(self.logger, "Calling on_keyboard_key with {:?}", key_event);
handler.on_keyboard_key(seat, key_event); handler.on_keyboard_key(seat, key_event);
} else { } else {
@ -460,7 +460,7 @@ impl backend::InputBackend for LibinputInputBackend {
use input::event::pointer::*; use input::event::pointer::*;
if let Some(ref mut handler) = self.handler { if let Some(ref mut handler) = self.handler {
let device_seat = pointer_event.device().seat(); let device_seat = pointer_event.device().seat();
if let &Some(ref seat) = &self.seats.get(&device_seat) { if let Some(ref seat) = self.seats.get(&device_seat) {
match pointer_event { match pointer_event {
PointerEvent::Motion(motion_event) => { PointerEvent::Motion(motion_event) => {
trace!( trace!(

View File

@ -170,40 +170,40 @@ impl Session for AutoSession {
type Error = Error; type Error = Error;
fn open(&mut self, path: &Path, flags: OFlag) -> Result<RawFd> { fn open(&mut self, path: &Path, flags: OFlag) -> Result<RawFd> {
match self { match *self {
#[cfg(feature = "backend_session_logind")] #[cfg(feature = "backend_session_logind")]
&mut AutoSession::Logind(ref mut logind) => logind.open(path, flags).map_err(|e| e.into()), AutoSession::Logind(ref mut logind) => logind.open(path, flags).map_err(|e| e.into()),
&mut AutoSession::Direct(ref mut direct) => direct.open(path, flags).map_err(|e| e.into()), AutoSession::Direct(ref mut direct) => direct.open(path, flags).map_err(|e| e.into()),
} }
} }
fn close(&mut self, fd: RawFd) -> Result<()> { fn close(&mut self, fd: RawFd) -> Result<()> {
match self { match *self {
#[cfg(feature = "backend_session_logind")] #[cfg(feature = "backend_session_logind")]
&mut AutoSession::Logind(ref mut logind) => logind.close(fd).map_err(|e| e.into()), AutoSession::Logind(ref mut logind) => logind.close(fd).map_err(|e| e.into()),
&mut AutoSession::Direct(ref mut direct) => direct.close(fd).map_err(|e| e.into()), AutoSession::Direct(ref mut direct) => direct.close(fd).map_err(|e| e.into()),
} }
} }
fn change_vt(&mut self, vt: i32) -> Result<()> { fn change_vt(&mut self, vt: i32) -> Result<()> {
match self { match *self {
#[cfg(feature = "backend_session_logind")] #[cfg(feature = "backend_session_logind")]
&mut AutoSession::Logind(ref mut logind) => logind.change_vt(vt).map_err(|e| e.into()), AutoSession::Logind(ref mut logind) => logind.change_vt(vt).map_err(|e| e.into()),
&mut AutoSession::Direct(ref mut direct) => direct.change_vt(vt).map_err(|e| e.into()), AutoSession::Direct(ref mut direct) => direct.change_vt(vt).map_err(|e| e.into()),
} }
} }
fn is_active(&self) -> bool { fn is_active(&self) -> bool {
match self { match *self {
#[cfg(feature = "backend_session_logind")] #[cfg(feature = "backend_session_logind")]
&AutoSession::Logind(ref logind) => logind.is_active(), AutoSession::Logind(ref logind) => logind.is_active(),
&AutoSession::Direct(ref direct) => direct.is_active(), AutoSession::Direct(ref direct) => direct.is_active(),
} }
} }
fn seat(&self) -> String { fn seat(&self) -> String {
match self { match *self {
#[cfg(feature = "backend_session_logind")] #[cfg(feature = "backend_session_logind")]
&AutoSession::Logind(ref logind) => logind.seat(), AutoSession::Logind(ref logind) => logind.seat(),
&AutoSession::Direct(ref direct) => direct.seat(), AutoSession::Direct(ref direct) => direct.seat(),
} }
} }
} }
@ -215,12 +215,12 @@ impl SessionNotifier for AutoSessionNotifier {
&mut self, &mut self,
signal: &mut A, signal: &mut A,
) -> Self::Id { ) -> Self::Id {
match self { match *self {
#[cfg(feature = "backend_session_logind")] #[cfg(feature = "backend_session_logind")]
&mut AutoSessionNotifier::Logind(ref mut logind) => { AutoSessionNotifier::Logind(ref mut logind) => {
AutoId(AutoIdInternal::Logind(logind.register(signal))) AutoId(AutoIdInternal::Logind(logind.register(signal)))
} }
&mut AutoSessionNotifier::Direct(ref mut direct) => { AutoSessionNotifier::Direct(ref mut direct) => {
AutoId(AutoIdInternal::Direct(direct.register(signal))) AutoId(AutoIdInternal::Direct(direct.register(signal)))
} }
} }
@ -239,17 +239,17 @@ impl SessionNotifier for AutoSessionNotifier {
} }
fn is_active(&self) -> bool { fn is_active(&self) -> bool {
match self { match *self {
#[cfg(feature = "backend_session_logind")] #[cfg(feature = "backend_session_logind")]
&AutoSessionNotifier::Logind(ref logind) => logind.is_active(), AutoSessionNotifier::Logind(ref logind) => logind.is_active(),
&AutoSessionNotifier::Direct(ref direct) => direct.is_active(), AutoSessionNotifier::Direct(ref direct) => direct.is_active(),
} }
} }
fn seat(&self) -> &str { fn seat(&self) -> &str {
match self { match *self {
#[cfg(feature = "backend_session_logind")] #[cfg(feature = "backend_session_logind")]
&AutoSessionNotifier::Logind(ref logind) => logind.seat(), AutoSessionNotifier::Logind(ref logind) => logind.seat(),
&AutoSessionNotifier::Direct(ref direct) => direct.seat(), AutoSessionNotifier::Direct(ref direct) => direct.seat(),
} }
} }
} }

View File

@ -177,7 +177,7 @@ impl DirectSession {
fcntl::OFlag::O_RDWR | fcntl::OFlag::O_CLOEXEC, fcntl::OFlag::O_RDWR | fcntl::OFlag::O_CLOEXEC,
Mode::empty(), Mode::empty(),
).chain_err(|| ErrorKind::FailedToOpenTTY(String::from(path.to_string_lossy()))) ).chain_err(|| ErrorKind::FailedToOpenTTY(String::from(path.to_string_lossy())))
}).unwrap_or(dup(0 /*stdin*/).chain_err(|| ErrorKind::FailedToOpenTTY(String::from("<stdin>"))))?; }).unwrap_or_else(|| dup(0 /*stdin*/).chain_err(|| ErrorKind::FailedToOpenTTY(String::from("<stdin>"))))?;
let active = Arc::new(AtomicBool::new(true)); let active = Arc::new(AtomicBool::new(true));
@ -372,7 +372,7 @@ impl Implementation<(), SignalEvent> for DirectSessionNotifier {
if self.is_active() { if self.is_active() {
info!(self.logger, "Session shall become inactive."); info!(self.logger, "Session shall become inactive.");
for signal in &mut self.signals { for signal in &mut self.signals {
if let &mut Some(ref mut signal) = signal { if let Some(ref mut signal) = *signal {
signal.pause(None); signal.pause(None);
} }
} }
@ -387,7 +387,7 @@ impl Implementation<(), SignalEvent> for DirectSessionNotifier {
tty::vt_rel_disp(self.tty, tty::VT_ACKACQ).expect("Unable to acquire tty lock"); tty::vt_rel_disp(self.tty, tty::VT_ACKACQ).expect("Unable to acquire tty lock");
} }
for signal in &mut self.signals { for signal in &mut self.signals {
if let &mut Some(ref mut signal) = signal { if let Some(ref mut signal) = *signal {
signal.activate(None); signal.activate(None);
} }
} }

View File

@ -69,7 +69,7 @@ impl<H: DrmHandler<SessionFdDrmDevice> + 'static, S: Session + 'static, T: UdevH
/// `session` - A session used to open and close devices as they become available /// `session` - A session used to open and close devices as they become available
/// `handler` - User-provided handler to respond to any detected changes /// `handler` - User-provided handler to respond to any detected changes
/// `logger` - slog Logger to be used by the backend and its `DrmDevices`. /// `logger` - slog Logger to be used by the backend and its `DrmDevices`.
pub fn new<'a, L>( pub fn new<L>(
token: LoopToken, token: LoopToken,
context: &Context, context: &Context,
mut session: S, mut session: S,
@ -195,7 +195,7 @@ impl<
} }
impl SessionObserver for UdevBackendObserver { impl SessionObserver for UdevBackendObserver {
fn pause<'a>(&mut self, devnum: Option<(u32, u32)>) { fn pause(&mut self, devnum: Option<(u32, u32)>) {
if let Some(devices) = self.devices.upgrade() { if let Some(devices) = self.devices.upgrade() {
for &mut (_, ref device) in devices.borrow_mut().values_mut() { for &mut (_, ref device) in devices.borrow_mut().values_mut() {
info!(self.logger, "changed successful"); info!(self.logger, "changed successful");
@ -204,7 +204,7 @@ impl SessionObserver for UdevBackendObserver {
} }
} }
fn activate<'a>(&mut self, devnum: Option<(u32, u32, Option<RawFd>)>) { fn activate(&mut self, devnum: Option<(u32, u32, Option<RawFd>)>) {
if let Some(devices) = self.devices.upgrade() { if let Some(devices) = self.devices.upgrade() {
for &mut (_, ref device) in devices.borrow_mut().values_mut() { for &mut (_, ref device) in devices.borrow_mut().values_mut() {
info!(self.logger, "changed successful"); info!(self.logger, "changed successful");

View File

@ -53,9 +53,9 @@ enum Window {
impl Window { impl Window {
fn window(&self) -> &WinitWindow { fn window(&self) -> &WinitWindow {
match self { match *self {
&Window::Wayland { ref context, .. } => &**context, Window::Wayland { ref context, .. } => &**context,
&Window::X11 { ref context, .. } => &**context, Window::X11 { ref context, .. } => &**context,
} }
} }
} }
@ -697,12 +697,9 @@ impl InputBackend for WinitInputBackend {
(WindowEvent::Resized(w, h), _, events_handler) => { (WindowEvent::Resized(w, h), _, events_handler) => {
trace!(logger, "Resizing window to {:?}", (w, h)); trace!(logger, "Resizing window to {:?}", (w, h));
window.window().set_inner_size(w, h); window.window().set_inner_size(w, h);
match **window { if let Window::Wayland { ref surface, .. } = **window {
Window::Wayland { ref surface, .. } => { surface.resize(w as i32, h as i32, 0, 0);
surface.resize(w as i32, h as i32, 0, 0) }
}
_ => {}
};
if let Some(events_handler) = events_handler { if let Some(events_handler) = events_handler {
events_handler.resized(w, h); events_handler.resized(w, h);
} }
@ -743,7 +740,7 @@ impl InputBackend for WinitInputBackend {
time, time,
key: scancode, key: scancode,
count: *key_counter, count: *key_counter,
state: state, state,
}, },
) )
} }
@ -760,8 +757,8 @@ impl InputBackend for WinitInputBackend {
WinitMouseMovedEvent { WinitMouseMovedEvent {
window: window.clone(), window: window.clone(),
time, time,
x: x, x,
y: y, y,
}, },
) )
} }
@ -780,8 +777,8 @@ impl InputBackend for WinitInputBackend {
seat, seat,
WinitMouseInputEvent { WinitMouseInputEvent {
time, time,
button: button, button,
state: state, state,
}, },
) )
} }
@ -802,7 +799,7 @@ impl InputBackend for WinitInputBackend {
window: window.clone(), window: window.clone(),
time, time,
location: (x, y), location: (x, y),
id: id, id,
}, },
) )
} }
@ -823,7 +820,7 @@ impl InputBackend for WinitInputBackend {
window: window.clone(), window: window.clone(),
time, time,
location: (x, y), location: (x, y),
id: id, id,
}, },
) )
} }
@ -844,11 +841,11 @@ impl InputBackend for WinitInputBackend {
window: window.clone(), window: window.clone(),
time, time,
location: (x, y), location: (x, y),
id: id, id,
}, },
); );
trace!(logger, "Calling on_touch_up"); trace!(logger, "Calling on_touch_up");
handler.on_touch_up(seat, WinitTouchEndedEvent { time, id: id }); handler.on_touch_up(seat, WinitTouchEndedEvent { time, id });
} }
( (
WindowEvent::Touch(Touch { WindowEvent::Touch(Touch {
@ -860,7 +857,7 @@ impl InputBackend for WinitInputBackend {
_, _,
) => { ) => {
trace!(logger, "Calling on_touch_cancel"); trace!(logger, "Calling on_touch_cancel");
handler.on_touch_cancel(seat, WinitTouchCancelledEvent { time, id: id }) handler.on_touch_cancel(seat, WinitTouchCancelledEvent { time, id })
} }
(WindowEvent::CloseRequested, _, _) | (WindowEvent::Destroyed, _, _) => { (WindowEvent::CloseRequested, _, _) | (WindowEvent::Destroyed, _, _) => {
warn!(logger, "Window closed"); warn!(logger, "Window closed");

View File

@ -57,8 +57,8 @@ impl<U, R> SurfaceImplem<U, R> {
+ 'static, + 'static,
{ {
SurfaceImplem { SurfaceImplem {
log: log, log,
implem: implem, implem,
} }
} }
} }

View File

@ -229,14 +229,14 @@ impl<U: 'static, R: RoleType + Role<SubsurfaceRole> + 'static> SurfaceData<U, R>
pub unsafe fn get_parent(child: &Resource<WlSurface>) -> Option<Resource<WlSurface>> { pub unsafe fn get_parent(child: &Resource<WlSurface>) -> Option<Resource<WlSurface>> {
let child_mutex = Self::get_data(child); let child_mutex = Self::get_data(child);
let child_guard = child_mutex.lock().unwrap(); let child_guard = child_mutex.lock().unwrap();
child_guard.parent.as_ref().map(|p| p.clone()) child_guard.parent.as_ref().cloned()
} }
/// Retrieve the parent surface (if any) of this surface /// Retrieve the parent surface (if any) of this surface
pub unsafe fn get_children(child: &Resource<WlSurface>) -> Vec<Resource<WlSurface>> { pub unsafe fn get_children(child: &Resource<WlSurface>) -> Vec<Resource<WlSurface>> {
let child_mutex = Self::get_data(child); let child_mutex = Self::get_data(child);
let child_guard = child_mutex.lock().unwrap(); let child_guard = child_mutex.lock().unwrap();
child_guard.children.iter().map(|p| p.clone()).collect() child_guard.children.to_vec()
} }
/// Reorders a surface relative to one of its sibling /// Reorders a surface relative to one of its sibling
@ -250,7 +250,7 @@ impl<U: 'static, R: RoleType + Role<SubsurfaceRole> + 'static> SurfaceData<U, R>
let parent = { let parent = {
let data_mutex = Self::get_data(surface); let data_mutex = Self::get_data(surface);
let data_guard = data_mutex.lock().unwrap(); let data_guard = data_mutex.lock().unwrap();
data_guard.parent.as_ref().map(|p| p.clone()).unwrap() data_guard.parent.as_ref().cloned().unwrap()
}; };
if parent.equals(relative_to) { if parent.equals(relative_to) {
// TODO: handle positioning relative to parent // TODO: handle positioning relative to parent

View File

@ -127,7 +127,7 @@ impl Inner {
flags |= WMode::Preferred; flags |= WMode::Preferred;
} }
output.send(Event::Mode { output.send(Event::Mode {
flags: flags, flags,
width: mode.width, width: mode.width,
height: mode.height, height: mode.height,
refresh: mode.refresh, refresh: mode.refresh,
@ -198,10 +198,10 @@ impl Output {
info!(log, "Creating new wl_output"; "name" => &name); info!(log, "Creating new wl_output"; "name" => &name);
let inner = Arc::new(Mutex::new(Inner { let inner = Arc::new(Mutex::new(Inner {
name: name, name,
log: log, log,
instances: Vec::new(), instances: Vec::new(),
physical: physical, physical,
location: (0, 0), location: (0, 0),
transform: Transform::Normal, transform: Transform::Normal,
scale: 1, scale: 1,
@ -306,7 +306,7 @@ impl Output {
for output in &inner.instances { for output in &inner.instances {
if let Some(mode) = new_mode { if let Some(mode) = new_mode {
output.send(Event::Mode { output.send(Event::Mode {
flags: flags, flags,
width: mode.width, width: mode.width,
height: mode.height, height: mode.height,
refresh: mode.refresh, refresh: mode.refresh,

View File

@ -102,10 +102,10 @@ impl KbdInternal {
focus: None, focus: None,
pressed_keys: Vec::new(), pressed_keys: Vec::new(),
mods_state: ModifiersState::new(), mods_state: ModifiersState::new(),
keymap: keymap, keymap,
state: state, state,
repeat_rate: repeat_rate, repeat_rate,
repeat_delay: repeat_delay, repeat_delay,
}) })
} }
@ -224,7 +224,7 @@ pub(crate) fn create_keyboard_handler(
Ok(KeyboardHandle { Ok(KeyboardHandle {
arc: Arc::new(KbdArc { arc: Arc::new(KbdArc {
internal: Mutex::new(internal), internal: Mutex::new(internal),
keymap_file: keymap_file, keymap_file,
keymap_len: keymap_data.as_bytes().len() as u32, keymap_len: keymap_data.as_bytes().len() as u32,
logger: log, logger: log,
}), }),
@ -349,7 +349,7 @@ impl KeyboardHandle {
}); });
// set new focus // set new focus
guard.focus = focus.map(|s| s.clone()); guard.focus = focus.cloned();
let (dep, la, lo, gr) = guard.serialize_modifiers(); let (dep, la, lo, gr) = guard.serialize_modifiers();
let keys = guard.serialize_pressed_keys(); let keys = guard.serialize_pressed_keys();
guard.with_focused_kbds(|kbd, surface| { guard.with_focused_kbds(|kbd, surface| {

View File

@ -125,7 +125,7 @@ impl Seat {
let log = ::slog_or_stdlog(logger); let log = ::slog_or_stdlog(logger);
let inner = Arc::new(Mutex::new(Inner { let inner = Arc::new(Mutex::new(Inner {
log: log.new(o!("smithay_module" => "seat_handler", "seat_name" => name.clone())), log: log.new(o!("smithay_module" => "seat_handler", "seat_name" => name.clone())),
name: name, name,
pointer: None, pointer: None,
keyboard: None, keyboard: None,
known_seats: Vec::new(), known_seats: Vec::new(),

View File

@ -138,7 +138,7 @@ impl PointerHandle {
/// ///
/// A single frame will group multiple scroll events as if they happended in the same instance. /// A single frame will group multiple scroll events as if they happended in the same instance.
/// Dropping the returned `PointerAxisHandle` will group the events together. /// Dropping the returned `PointerAxisHandle` will group the events together.
pub fn axis<'a>(&'a self) -> PointerAxisHandle<'a> { pub fn axis(& self) -> PointerAxisHandle {
PointerAxisHandle { PointerAxisHandle {
inner: self.inner.lock().unwrap(), inner: self.inner.lock().unwrap(),
} }

View File

@ -345,7 +345,7 @@ where
self::wl_handlers::implement_shell( self::wl_handlers::implement_shell(
shell, shell,
ltoken.clone(), ltoken.clone(),
ctoken.clone(), ctoken,
implementation.clone(), implementation.clone(),
state2.clone(), state2.clone(),
); );

View File

@ -45,17 +45,17 @@ pub(crate) fn implement_shell<U, R, D, Impl>(
surface, surface,
implementation.clone(), implementation.clone(),
ltoken.clone(), ltoken.clone(),
ctoken.clone(), ctoken,
state.clone(), state.clone(),
); );
state state
.lock() .lock()
.unwrap() .unwrap()
.known_surfaces .known_surfaces
.push(make_handle(&shell_surface, ctoken.clone())); .push(make_handle(&shell_surface, ctoken));
implementation.borrow_mut().receive( implementation.borrow_mut().receive(
ShellRequest::NewShellSurface { ShellRequest::NewShellSurface {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
}, },
(), (),
); );
@ -117,7 +117,7 @@ where
if valid { if valid {
user_impl.receive( user_impl.receive(
ShellRequest::Pong { ShellRequest::Pong {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
}, },
(), (),
); );
@ -125,7 +125,7 @@ where
} }
Request::Move { seat, serial } => user_impl.receive( Request::Move { seat, serial } => user_impl.receive(
ShellRequest::Move { ShellRequest::Move {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
serial, serial,
seat, seat,
}, },
@ -137,7 +137,7 @@ where
edges, edges,
} => user_impl.receive( } => user_impl.receive(
ShellRequest::Resize { ShellRequest::Resize {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
serial, serial,
seat, seat,
edges, edges,
@ -146,7 +146,7 @@ where
), ),
Request::SetToplevel => user_impl.receive( Request::SetToplevel => user_impl.receive(
ShellRequest::SetKind { ShellRequest::SetKind {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
kind: ShellSurfaceKind::Toplevel, kind: ShellSurfaceKind::Toplevel,
}, },
(), (),
@ -158,7 +158,7 @@ where
flags, flags,
} => user_impl.receive( } => user_impl.receive(
ShellRequest::SetKind { ShellRequest::SetKind {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
kind: ShellSurfaceKind::Transient { kind: ShellSurfaceKind::Transient {
parent, parent,
location: (x, y), location: (x, y),
@ -173,7 +173,7 @@ where
output, output,
} => user_impl.receive( } => user_impl.receive(
ShellRequest::SetKind { ShellRequest::SetKind {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
kind: ShellSurfaceKind::Fullscreen { kind: ShellSurfaceKind::Fullscreen {
method, method,
framerate, framerate,
@ -191,7 +191,7 @@ where
flags, flags,
} => user_impl.receive( } => user_impl.receive(
ShellRequest::SetKind { ShellRequest::SetKind {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
kind: ShellSurfaceKind::Popup { kind: ShellSurfaceKind::Popup {
parent, parent,
serial, serial,
@ -204,7 +204,7 @@ where
), ),
Request::SetMaximized { output } => user_impl.receive( Request::SetMaximized { output } => user_impl.receive(
ShellRequest::SetKind { ShellRequest::SetKind {
surface: make_handle(&shell_surface, ctoken.clone()), surface: make_handle(&shell_surface, ctoken),
kind: ShellSurfaceKind::Maximized { output }, kind: ShellSurfaceKind::Maximized { output },
}, },
(), (),

View File

@ -221,7 +221,7 @@ pub struct ToplevelState {
impl Clone for ToplevelState { impl Clone for ToplevelState {
fn clone(&self) -> ToplevelState { fn clone(&self) -> ToplevelState {
ToplevelState { ToplevelState {
parent: self.parent.as_ref().map(|p| p.clone()), parent: self.parent.as_ref().cloned(),
title: self.title.clone(), title: self.title.clone(),
app_id: self.app_id.clone(), app_id: self.app_id.clone(),
min_size: self.min_size, min_size: self.min_size,
@ -242,7 +242,7 @@ pub struct PopupState {
impl Clone for PopupState { impl Clone for PopupState {
fn clone(&self) -> PopupState { fn clone(&self) -> PopupState {
PopupState { PopupState {
parent: self.parent.as_ref().map(|p| p.clone()), parent: self.parent.as_ref().cloned(),
positioner: self.positioner.clone(), positioner: self.positioner.clone(),
} }
} }
@ -266,7 +266,7 @@ impl<U, R, SD> Clone for ShellImplementation<U, R, SD> {
fn clone(&self) -> Self { fn clone(&self) -> Self {
ShellImplementation { ShellImplementation {
log: self.log.clone(), log: self.log.clone(),
compositor_token: self.compositor_token.clone(), compositor_token: self.compositor_token,
loop_token: self.loop_token.clone(), loop_token: self.loop_token.clone(),
user_impl: self.user_impl.clone(), user_impl: self.user_impl.clone(),
shell_state: self.shell_state.clone(), shell_state: self.shell_state.clone(),

View File

@ -449,7 +449,7 @@ fn make_toplevel_handle<U, R, SD>(
super::ToplevelSurface { super::ToplevelSurface {
wl_surface: wl_surface.clone(), wl_surface: wl_surface.clone(),
shell_surface: ToplevelKind::Xdg(resource.clone()), shell_surface: ToplevelKind::Xdg(resource.clone()),
token: token, token,
_shell_data: ::std::marker::PhantomData, _shell_data: ::std::marker::PhantomData,
} }
} }
@ -650,7 +650,7 @@ fn make_popup_handle<U, R, SD>(
super::PopupSurface { super::PopupSurface {
wl_surface: wl_surface.clone(), wl_surface: wl_surface.clone(),
shell_surface: PopupKind::Xdg(resource.clone()), shell_surface: PopupKind::Xdg(resource.clone()),
token: token, token,
_shell_data: ::std::marker::PhantomData, _shell_data: ::std::marker::PhantomData,
} }
} }

View File

@ -466,7 +466,7 @@ fn make_toplevel_handle<U, R, SD>(
super::ToplevelSurface { super::ToplevelSurface {
wl_surface: wl_surface.clone(), wl_surface: wl_surface.clone(),
shell_surface: ToplevelKind::ZxdgV6(resource.clone()), shell_surface: ToplevelKind::ZxdgV6(resource.clone()),
token: token, token,
_shell_data: ::std::marker::PhantomData, _shell_data: ::std::marker::PhantomData,
} }
} }
@ -671,7 +671,7 @@ fn make_popup_handle<U, R, SD>(
super::PopupSurface { super::PopupSurface {
wl_surface: wl_surface.clone(), wl_surface: wl_surface.clone(),
shell_surface: PopupKind::ZxdgV6(resource.clone()), shell_surface: PopupKind::ZxdgV6(resource.clone()),
token: token, token,
_shell_data: ::std::marker::PhantomData, _shell_data: ::std::marker::PhantomData,
} }
} }

View File

@ -249,11 +249,11 @@ impl Implementation<Resource<wl_shm_pool::WlShmPool>, wl_shm_pool::Request> for
let data = Box::into_raw(Box::new(InternalBufferData { let data = Box::into_raw(Box::new(InternalBufferData {
pool: arc_pool.clone(), pool: arc_pool.clone(),
data: BufferData { data: BufferData {
offset: offset, offset,
width: width, width,
height: height, height,
stride: stride, stride,
format: format, format,
}, },
})); }));
let buffer = buffer.implement_nonsend( let buffer = buffer.implement_nonsend(

View File

@ -28,8 +28,8 @@ impl Pool {
trace!(log, "Creating new shm pool"; "fd" => fd as i32, "size" => size); trace!(log, "Creating new shm pool"; "fd" => fd as i32, "size" => size);
Ok(Pool { Ok(Pool {
map: RwLock::new(memmap), map: RwLock::new(memmap),
fd: fd, fd,
log: log, log,
}) })
} }
@ -100,8 +100,8 @@ impl MemMap {
fn new(fd: RawFd, size: usize) -> Result<MemMap, ()> { fn new(fd: RawFd, size: usize) -> Result<MemMap, ()> {
Ok(MemMap { Ok(MemMap {
ptr: unsafe { map(fd, size) }?, ptr: unsafe { map(fd, size) }?,
fd: fd, fd,
size: size, size,
}) })
} }

View File

@ -19,7 +19,7 @@ pub(crate) fn prepare_x11_sockets(log: ::slog::Logger) -> Result<(X11Lock, [Unix
} }
// If we reach here, all values from 0 to 32 failed // If we reach here, all values from 0 to 32 failed
// we need to stop trying at some point // we need to stop trying at some point
return Err(()); Err(())
} }
pub(crate) struct X11Lock { pub(crate) struct X11Lock {
@ -40,15 +40,15 @@ impl X11Lock {
Ok(mut file) => { Ok(mut file) => {
// we got it, write our PID in it and we're good // we got it, write our PID in it and we're good
let ret = file.write_fmt(format_args!("{:>10}", ::nix::unistd::Pid::this())); let ret = file.write_fmt(format_args!("{:>10}", ::nix::unistd::Pid::this()));
if let Err(_) = ret { if ret.is_err() {
// write to the file failed ? we abandon // write to the file failed ? we abandon
::std::mem::drop(file); ::std::mem::drop(file);
let _ = ::std::fs::remove_file(&filename); let _ = ::std::fs::remove_file(&filename);
return Err(()); Err(())
} else { } else {
debug!(log, "X11 lock aquired"; "D" => display); debug!(log, "X11 lock aquired"; "D" => display);
// we got the lockfile and wrote our pid to it, all is good // we got the lockfile and wrote our pid to it, all is good
return Ok(X11Lock { display, log }); Ok(X11Lock { display, log })
} }
} }
Err(_) => { Err(_) => {
@ -79,7 +79,7 @@ impl X11Lock {
} }
} }
// if we reach here, this lockfile exists and is probably in use, give up // if we reach here, this lockfile exists and is probably in use, give up
return Err(()); Err(())
} }
} }
} }