diff --git a/src/backend/drm/atomic/surface.rs b/src/backend/drm/atomic/surface.rs index 5e582df..9e467ce 100644 --- a/src/backend/drm/atomic/surface.rs +++ b/src/backend/drm/atomic/surface.rs @@ -144,7 +144,7 @@ impl AtomicDrmSurfaceInternal { let pending = State { mode, blob, - connectors: connectors.into_iter().copied().collect(), + connectors: connectors.iter().copied().collect(), }; let (primary, cursor) = diff --git a/src/backend/drm/common/fallback.rs b/src/backend/drm/common/fallback.rs index 3f13380..e5d666e 100644 --- a/src/backend/drm/common/fallback.rs +++ b/src/backend/drm/common/fallback.rs @@ -174,12 +174,12 @@ impl FallbackDevice, LegacyDrmD let log = crate::slog_or_stdlog(logger).new(o!("smithay_module" => "backend_drm_fallback")); info!(log, "Trying to initialize AtomicDrmDevice"); - if env::var("SMITHAY_USE_LEGACY") + let force_legacy = env::var("SMITHAY_USE_LEGACY") .map(|x| { x == "1" || x.to_lowercase() == "true" || x.to_lowercase() == "yes" || x.to_lowercase() == "y" }) - .unwrap_or(false) - { + .unwrap_or(false); + if force_legacy { info!(log, "SMITHAY_USE_LEGACY is set. Forcing LegacyDrmDevice."); return Ok(FallbackDevice::Fallback(LegacyDrmDevice::new( fd, diff --git a/src/backend/drm/common/mod.rs b/src/backend/drm/common/mod.rs index f9dd54c..c851e40 100644 --- a/src/backend/drm/common/mod.rs +++ b/src/backend/drm/common/mod.rs @@ -76,19 +76,16 @@ impl Into for Error { fn into(self) -> SwapBuffersError { match self { x @ Error::DeviceInactive => SwapBuffersError::TemporaryFailure(Box::new(x)), - Error::Access { - errmsg: _, - dev: _, - source, - } if match source.get_ref() { - drm::SystemError::Unknown { - errno: nix::errno::Errno::EBUSY, - } => true, - drm::SystemError::Unknown { - errno: nix::errno::Errno::EINTR, - } => true, - _ => false, - } => + Error::Access { source, .. } + if match source.get_ref() { + drm::SystemError::Unknown { + errno: nix::errno::Errno::EBUSY, + } => true, + drm::SystemError::Unknown { + errno: nix::errno::Errno::EINTR, + } => true, + _ => false, + } => { SwapBuffersError::TemporaryFailure(Box::new(source)) } diff --git a/src/backend/drm/gbm/mod.rs b/src/backend/drm/gbm/mod.rs index 0c87bcf..d4cc66a 100644 --- a/src/backend/drm/gbm/mod.rs +++ b/src/backend/drm/gbm/mod.rs @@ -265,10 +265,10 @@ where Error::FrontBuffersExhausted => SwapBuffersError::AlreadySwapped, Error::FramebufferCreationFailed(x) if match x.get_ref() { - &drm::SystemError::Unknown { + drm::SystemError::Unknown { errno: nix::errno::Errno::EBUSY, } => true, - &drm::SystemError::Unknown { + drm::SystemError::Unknown { errno: nix::errno::Errno::EINTR, } => true, _ => false, diff --git a/src/backend/drm/legacy/surface.rs b/src/backend/drm/legacy/surface.rs index dbd61c9..de931da 100644 --- a/src/backend/drm/legacy/surface.rs +++ b/src/backend/drm/legacy/surface.rs @@ -358,7 +358,7 @@ impl LegacyDrmSurfaceInternal { }; let pending = State { mode, - connectors: connectors.into_iter().copied().collect(), + connectors: connectors.iter().copied().collect(), }; let surface = LegacyDrmSurfaceInternal { @@ -437,9 +437,10 @@ impl Drop for LegacyDrmSurfaceInternal { let _ = self.set_cursor(self.crtc, Option::<&DumbBuffer>::None); // disable connectors again let current = self.state.read().unwrap(); - if let Ok(_) = self + if self .dev .set_connector_state(current.connectors.iter().copied(), false) + .is_ok() { // null commit let _ = self.set_crtc(self.crtc, None, (0, 0), &[], None); diff --git a/src/backend/egl/display.rs b/src/backend/egl/display.rs index bc5d943..baf716b 100644 --- a/src/backend/egl/display.rs +++ b/src/backend/egl/display.rs @@ -304,7 +304,7 @@ impl> EGLDisplay { .collect::>, EGLError>>() .map_err(Error::ConfigFailed)? .into_iter() - .flat_map(|x| x) + .flatten() .collect::>(); if config_ids.is_empty() { @@ -546,7 +546,7 @@ impl EGLBufferReader { out.push(ffi::egl::NONE as i32); images.push({ - let image = wrap_egl_call(|| unsafe { + wrap_egl_call(|| unsafe { ffi::egl::CreateImageKHR( **self.display, ffi::egl::NO_CONTEXT, @@ -555,8 +555,7 @@ impl EGLBufferReader { out.as_ptr(), ) }) - .map_err(BufferAccessError::EGLImageCreationFailed)?; - image + .map_err(BufferAccessError::EGLImageCreationFailed)? }); }