diff --git a/src/backend/kms/drm_helpers.rs b/src/backend/kms/drm_helpers.rs index 5c9f53f4..909c6a27 100644 --- a/src/backend/kms/drm_helpers.rs +++ b/src/backend/kms/drm_helpers.rs @@ -69,9 +69,7 @@ pub fn display_configuration( } } - if !map.contains_key(&conn.handle()) { - map.insert(conn.handle(), None); - } + map.entry(conn.handle()).or_insert(None); } // And then cleanup diff --git a/src/utils/iced.rs b/src/utils/iced.rs index 8a1ec1e2..97c41835 100644 --- a/src/utils/iced.rs +++ b/src/utils/iced.rs @@ -765,26 +765,20 @@ impl SpaceElement for IcedElement

{ fn output_enter(&self, output: &Output, _overlap: Rectangle) { let mut internal = self.0.lock().unwrap(); let scale = output.current_scale().fractional_scale(); - if !internal.buffers.contains_key(&OrderedFloat(scale)) { - let buffer_size = internal - .size + + let internal_size = internal.size; + internal.buffers.entry(OrderedFloat(scale)).or_insert({ + let buffer_size = internal_size .to_f64() .to_buffer(scale, Transform::Normal) .to_i32_round(); - internal.buffers.insert( - OrderedFloat(scale), - ( - MemoryRenderBuffer::new( - Fourcc::Argb8888, - buffer_size, - 1, - Transform::Normal, - None, - ), - None, - ), - ); - } + + ( + MemoryRenderBuffer::new(Fourcc::Argb8888, buffer_size, 1, Transform::Normal, None), + None, + ) + }); + internal.outputs.insert(output.clone()); }