From 8ede36b2efda99113d3d210f59e42609142aa57e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 24 Oct 2021 20:00:38 +0200 Subject: [PATCH] compositor: Remove dead code When grabbing the devices, there's no error paths that would quit late enough that both pointer and keyboard would need ungrabbing, so the keyboard checks were dead code. Fix this by dropping the boolean variable checks, and adding goto labels to unroll the operation properly at every stage. CID: #1418254 Part-of: --- src/compositor/compositor.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c index 9cdd39c15..ee6be007b 100644 --- a/src/compositor/compositor.c +++ b/src/compositor/compositor.c @@ -353,33 +353,24 @@ grab_devices (MetaModalOptions options, guint32 timestamp) { MetaBackend *backend = META_BACKEND (meta_get_backend ()); - gboolean pointer_grabbed = FALSE; - gboolean keyboard_grabbed = FALSE; if ((options & META_MODAL_POINTER_ALREADY_GRABBED) == 0) { if (!meta_backend_grab_device (backend, META_VIRTUAL_CORE_POINTER_ID, timestamp)) goto fail; - - pointer_grabbed = TRUE; } if ((options & META_MODAL_KEYBOARD_ALREADY_GRABBED) == 0) { if (!meta_backend_grab_device (backend, META_VIRTUAL_CORE_KEYBOARD_ID, timestamp)) - goto fail; - - keyboard_grabbed = TRUE; + goto ungrab_pointer; } return TRUE; + ungrab_pointer: + meta_backend_ungrab_device (backend, META_VIRTUAL_CORE_POINTER_ID, timestamp); fail: - if (pointer_grabbed) - meta_backend_ungrab_device (backend, META_VIRTUAL_CORE_POINTER_ID, timestamp); - if (keyboard_grabbed) - meta_backend_ungrab_device (backend, META_VIRTUAL_CORE_KEYBOARD_ID, timestamp); - return FALSE; }