clippy

Junkui Zhang created

Change summary

crates/gpui/src/platform/linux/x11/client.rs | 36 +++++++++++++++------
1 file changed, 25 insertions(+), 11 deletions(-)

Detailed changes

crates/gpui/src/platform/linux/x11/client.rs 🔗

@@ -990,17 +990,7 @@ impl X11Client {
                 state.xkb = xkb_state;
                 drop(state);
                 self.handle_keyboard_layout_change();
-                state.keyboard_mapper =
-                    if let Some(mapper) = state.keyboard_mapper_cache.get(keyboard_layout.id()) {
-                        Rc::clone(mapper)
-                    } else {
-                        let mapper = Rc::new(LinuxKeyboardMapper::new(0, 0, 0));
-                        state
-                            .keyboard_mapper_cache
-                            .insert(keyboard_layout.id().to_string(), Rc::clone(&mapper));
-                        mapper
-                    };
-                state.keyboard_layout = Box::new(keyboard_layout);
+                update_keyboard_mapper(&mut state, keyboard_layout, 0, 0, 0);
             }
             Event::XkbStateNotify(event) => {
                 let mut state = self.0.borrow_mut();
@@ -2320,3 +2310,27 @@ fn create_invisible_cursor(
     xcb_flush(connection);
     Ok(cursor)
 }
+
+fn update_keyboard_mapper(
+    client: &mut X11ClientState,
+    keyboard_layout: LinuxKeyboardLayout,
+    base_group: u32,
+    latched_group: u32,
+    locked_group: u32,
+) {
+    client.keyboard_mapper =
+        if let Some(mapper) = client.keyboard_mapper_cache.get(keyboard_layout.id()) {
+            Rc::clone(mapper)
+        } else {
+            let mapper = Rc::new(LinuxKeyboardMapper::new(
+                base_group,
+                latched_group,
+                locked_group,
+            ));
+            client
+                .keyboard_mapper_cache
+                .insert(keyboard_layout.id().to_string(), Rc::clone(&mapper));
+            mapper
+        };
+    client.keyboard_layout = Box::new(keyboard_layout);
+}