[mutter] events: Replace a switch statement with a simple if test



commit df642b96e2ad02f4712e66990f2809b899a25cfe
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Thu May 8 15:05:25 2014 -0400

    events: Replace a switch statement with a simple if test

 src/core/events.c |  286 ++++++++++++++++++++++++++---------------------------
 1 files changed, 139 insertions(+), 147 deletions(-)
---
diff --git a/src/core/events.c b/src/core/events.c
index df8dd37..77c4b19 100644
--- a/src/core/events.c
+++ b/src/core/events.c
@@ -1926,167 +1926,159 @@ meta_display_handle_event (MetaDisplay        *display,
       goto out;
     }
 
-  switch (event->type)
+  if (window && event->type == CLUTTER_BUTTON_PRESS && display->grab_op == META_GRAB_OP_NONE)
     {
-    case CLUTTER_BUTTON_PRESS:
-      if (window && display->grab_op == META_GRAB_OP_NONE)
+      ClutterModifierType grab_mask;
+      gboolean unmodified;
+      gboolean fully_modified;
+
+      grab_mask = display->window_grab_modifiers;
+      if (g_getenv ("MUTTER_DEBUG_BUTTON_GRABS"))
+        grab_mask |= CLUTTER_CONTROL_MASK;
+
+      /* We have three passive button grabs:
+       * - on any button, without modifiers => focuses and maybe raises the window
+       * - on resize button, with modifiers => start an interactive resizing
+       *   (normally <Super>middle)
+       * - on move button, with modifiers => start an interactive move
+       *   (normally <Super>left)
+       * - on menu button, with modifiers => show the window menu
+       *   (normally <Super>right)
+       *
+       * We may get here because we actually have a button
+       * grab on the window, or because we're a wayland
+       * compositor and thus we see all the events, so we
+       * need to check if the event is interesting.
+       * We want an event that is not modified for a window.
+       *
+       * We may have other events on the window, for example
+       * a click on a frame button, but that's not for us to
+       * care about. Just let the event through.
+       */
+      unmodified = (event->button.modifier_state & grab_mask) == 0;
+      fully_modified = grab_mask && (event->button.modifier_state & grab_mask) == grab_mask;
+
+      if (unmodified)
         {
-          ClutterModifierType grab_mask;
-          gboolean unmodified;
-          gboolean fully_modified;
-
-          grab_mask = display->window_grab_modifiers;
-          if (g_getenv ("MUTTER_DEBUG_BUTTON_GRABS"))
-            grab_mask |= CLUTTER_CONTROL_MASK;
-
-          /* We have three passive button grabs:
-           * - on any button, without modifiers => focuses and maybe raises the window
-           * - on resize button, with modifiers => start an interactive resizing
-           *   (normally <Super>middle)
-           * - on move button, with modifiers => start an interactive move
-           *   (normally <Super>left)
-           * - on menu button, with modifiers => show the window menu
-           *   (normally <Super>right)
-           *
-           * We may get here because we actually have a button
-           * grab on the window, or because we're a wayland
-           * compositor and thus we see all the events, so we
-           * need to check if the event is interesting.
-           * We want an event that is not modified for a window.
-           *
-           * We may have other events on the window, for example
-           * a click on a frame button, but that's not for us to
-           * care about. Just let the event through.
-           */
-          unmodified = (event->button.modifier_state & grab_mask) == 0;
-          fully_modified = grab_mask && (event->button.modifier_state & grab_mask) == grab_mask;
+          if (meta_prefs_get_raise_on_click ())
+            meta_window_raise (window);
+          else
+            meta_topic (META_DEBUG_FOCUS,
+                        "Not raising window on click due to don't-raise-on-click option\n");
 
-          if (unmodified)
+          /* Don't focus panels--they must explicitly request focus.
+           * See bug 160470
+           */
+          if (window->type != META_WINDOW_DOCK)
             {
-              if (meta_prefs_get_raise_on_click ())
-                meta_window_raise (window);
-              else
-                meta_topic (META_DEBUG_FOCUS,
-                            "Not raising window on click due to don't-raise-on-click option\n");
-
-              /* Don't focus panels--they must explicitly request focus.
-               * See bug 160470
-               */
-              if (window->type != META_WINDOW_DOCK)
-                {
-                  meta_topic (META_DEBUG_FOCUS,
-                              "Focusing %s due to unmodified button %u press (display.c)\n",
-                              window->desc, event->button.button);
-                  meta_window_focus (window, event->any.time);
-                }
-              else
-                /* However, do allow terminals to lose focus due to new
-                 * window mappings after the user clicks on a panel.
-                 */
-                display->allow_terminal_deactivation = TRUE;
+              meta_topic (META_DEBUG_FOCUS,
+                          "Focusing %s due to unmodified button %u press (display.c)\n",
+                          window->desc, event->button.button);
+              meta_window_focus (window, event->any.time);
+            }
+          else
+            /* However, do allow terminals to lose focus due to new
+             * window mappings after the user clicks on a panel.
+             */
+            display->allow_terminal_deactivation = TRUE;
 
-              meta_verbose ("Allowing events time %u\n",
-                            (unsigned int)event->button.time);
+          meta_verbose ("Allowing events time %u\n",
+                        (unsigned int)event->button.time);
 
+          {
+            MetaBackend *backend = meta_get_backend ();
+            if (META_IS_BACKEND_X11 (backend))
               {
-                MetaBackend *backend = meta_get_backend ();
-                if (META_IS_BACKEND_X11 (backend))
-                  {
-                    Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend));
-                    XIAllowEvents (xdisplay, clutter_input_device_get_device_id (event->button.device),
-                                   XIReplayDevice, event->button.time);
-                  }
+                Display *xdisplay = meta_backend_x11_get_xdisplay (META_BACKEND_X11 (backend));
+                XIAllowEvents (xdisplay, clutter_input_device_get_device_id (event->button.device),
+                               XIReplayDevice, event->button.time);
               }
+          }
 
-              bypass_clutter = TRUE;
-            }
-          else if (fully_modified && (int) event->button.button == meta_prefs_get_mouse_button_resize ())
-            {
-              if (window->has_resize_func)
-                {
-                  gboolean north, south;
-                  gboolean west, east;
-                  MetaRectangle frame_rect;
-                  MetaGrabOp op;
-
-                  meta_window_get_frame_rect (window, &frame_rect);
-
-                  west = event->button.x < (frame_rect.x + 1 * frame_rect.width / 3);
-                  east = event->button.x > (frame_rect.x + 2 * frame_rect.width / 3);
-                  north = event->button.y < (frame_rect.y + 1 * frame_rect.height / 3);
-                  south = event->button.y > (frame_rect.y + 2 * frame_rect.height / 3);
-
-                  if (north && west)
-                    op = META_GRAB_OP_RESIZING_NW;
-                  else if (north && east)
-                    op = META_GRAB_OP_RESIZING_NE;
-                  else if (south && west)
-                    op = META_GRAB_OP_RESIZING_SW;
-                  else if (south && east)
-                    op = META_GRAB_OP_RESIZING_SE;
-                  else if (north)
-                    op = META_GRAB_OP_RESIZING_N;
-                  else if (west)
-                    op = META_GRAB_OP_RESIZING_W;
-                  else if (east)
-                    op = META_GRAB_OP_RESIZING_E;
-                  else if (south)
-                    op = META_GRAB_OP_RESIZING_S;
-                  else /* Middle region is no-op to avoid user triggering wrong action */
-                    op = META_GRAB_OP_NONE;
-
-                  if (op != META_GRAB_OP_NONE)
-                    meta_display_begin_grab_op (display,
-                                                window->screen,
-                                                window,
-                                                op,
-                                                TRUE,
-                                                FALSE,
-                                                event->button.button,
-                                                0,
-                                                event->any.time,
-                                                event->button.x,
-                                                event->button.y);
-                }
-              bypass_clutter = TRUE;
-              bypass_wayland = TRUE;
-            }
-          else if (fully_modified && (int) event->button.button == meta_prefs_get_mouse_button_menu ())
+          bypass_clutter = TRUE;
+        }
+      else if (fully_modified && (int) event->button.button == meta_prefs_get_mouse_button_resize ())
+        {
+          if (window->has_resize_func)
             {
-              if (meta_prefs_get_raise_on_click ())
-                meta_window_raise (window);
-              meta_window_show_menu (window,
-                                     event->button.x,
-                                     event->button.y,
-                                     event->button.button,
-                                     event->any.time);
-              bypass_clutter = TRUE;
-              bypass_wayland = TRUE;
+              gboolean north, south;
+              gboolean west, east;
+              MetaRectangle frame_rect;
+              MetaGrabOp op;
+
+              meta_window_get_frame_rect (window, &frame_rect);
+
+              west = event->button.x < (frame_rect.x + 1 * frame_rect.width / 3);
+              east = event->button.x > (frame_rect.x + 2 * frame_rect.width / 3);
+              north = event->button.y < (frame_rect.y + 1 * frame_rect.height / 3);
+              south = event->button.y > (frame_rect.y + 2 * frame_rect.height / 3);
+
+              if (north && west)
+                op = META_GRAB_OP_RESIZING_NW;
+              else if (north && east)
+                op = META_GRAB_OP_RESIZING_NE;
+              else if (south && west)
+                op = META_GRAB_OP_RESIZING_SW;
+              else if (south && east)
+                op = META_GRAB_OP_RESIZING_SE;
+              else if (north)
+                op = META_GRAB_OP_RESIZING_N;
+              else if (west)
+                op = META_GRAB_OP_RESIZING_W;
+              else if (east)
+                op = META_GRAB_OP_RESIZING_E;
+              else if (south)
+                op = META_GRAB_OP_RESIZING_S;
+              else /* Middle region is no-op to avoid user triggering wrong action */
+                op = META_GRAB_OP_NONE;
+
+              if (op != META_GRAB_OP_NONE)
+                meta_display_begin_grab_op (display,
+                                            window->screen,
+                                            window,
+                                            op,
+                                            TRUE,
+                                            FALSE,
+                                            event->button.button,
+                                            0,
+                                            event->any.time,
+                                            event->button.x,
+                                            event->button.y);
             }
-          else if (fully_modified && (int) event->button.button == 1)
+          bypass_clutter = TRUE;
+          bypass_wayland = TRUE;
+        }
+      else if (fully_modified && (int) event->button.button == meta_prefs_get_mouse_button_menu ())
+        {
+          if (meta_prefs_get_raise_on_click ())
+            meta_window_raise (window);
+          meta_window_show_menu (window,
+                                 event->button.x,
+                                 event->button.y,
+                                 event->button.button,
+                                 event->any.time);
+          bypass_clutter = TRUE;
+          bypass_wayland = TRUE;
+        }
+      else if (fully_modified && (int) event->button.button == 1)
+        {
+          if (window->has_move_func)
             {
-              if (window->has_move_func)
-                {
-                  meta_display_begin_grab_op (display,
-                                              window->screen,
-                                              window,
-                                              META_GRAB_OP_MOVING,
-                                              TRUE,
-                                              FALSE,
-                                              event->button.button,
-                                              0,
-                                              event->any.time,
-                                              event->button.x,
-                                              event->button.y);
-                }
-              bypass_clutter = TRUE;
-              bypass_wayland = TRUE;
+              meta_display_begin_grab_op (display,
+                                          window->screen,
+                                          window,
+                                          META_GRAB_OP_MOVING,
+                                          TRUE,
+                                          FALSE,
+                                          event->button.button,
+                                          0,
+                                          event->any.time,
+                                          event->button.x,
+                                          event->button.y);
             }
+          bypass_clutter = TRUE;
+          bypass_wayland = TRUE;
         }
-      break;
-
-    default:
-      break;
     }
 
  out:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]