[mutter/wip/carlosg/coverity-fixes: 2/13] core: Drop code to do edge resistance on timeouts




commit 0a7547a19512535a5e242fc3aa67472281dc8b84
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Oct 24 19:45:27 2021 +0200

    core: Drop code to do edge resistance on timeouts
    
    This has been long indirectly disabled (these timeouts were defined
    as 0ms long, thus not set), so edge resistance timeouts can be safely
    deemed dead code.
    
    CID: #1418253
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2061>

 src/core/edge-resistance.c | 131 ---------------------------------------------
 src/core/edge-resistance.h |   2 -
 src/core/keybindings.c     |   2 -
 src/core/window.c          |  17 ------
 4 files changed, 152 deletions(-)
---
diff --git a/src/core/edge-resistance.c b/src/core/edge-resistance.c
index 3e42936e73..eeaf055cab 100644
--- a/src/core/edge-resistance.c
+++ b/src/core/edge-resistance.c
@@ -38,29 +38,12 @@
   window->type   != META_WINDOW_MENU    &&     \
   window->type   != META_WINDOW_SPLASHSCREEN
 
-struct ResistanceDataForAnEdge
-{
-  gboolean     timeout_setup;
-  guint        timeout_id;
-  int          timeout_edge_pos;
-  gboolean     timeout_over;
-  GSourceFunc  timeout_func;
-  MetaWindow  *window;
-  int          keyboard_buildup;
-};
-typedef struct ResistanceDataForAnEdge ResistanceDataForAnEdge;
-
 struct MetaEdgeResistanceData
 {
   GArray *left_edges;
   GArray *right_edges;
   GArray *top_edges;
   GArray *bottom_edges;
-
-  ResistanceDataForAnEdge left_data;
-  ResistanceDataForAnEdge right_data;
-  ResistanceDataForAnEdge top_data;
-  ResistanceDataForAnEdge bottom_data;
 };
 
 static void compute_resistance_and_snapping_edges (MetaDisplay *display);
@@ -312,18 +295,6 @@ movement_towards_edge (MetaSide side, int increment)
     }
 }
 
-static gboolean
-edge_resistance_timeout (gpointer data)
-{
-  ResistanceDataForAnEdge *resistance_data = data;
-
-  resistance_data->timeout_over = TRUE;
-  resistance_data->timeout_id = 0;
-  (*resistance_data->timeout_func)(resistance_data->window);
-
-  return FALSE;
-}
-
 static int
 apply_edge_resistance (MetaWindow                *window,
                        int                        old_pos,
@@ -331,8 +302,6 @@ apply_edge_resistance (MetaWindow                *window,
                        const MetaRectangle       *old_rect,
                        const MetaRectangle       *new_rect,
                        GArray                    *edges,
-                       ResistanceDataForAnEdge   *resistance_data,
-                       GSourceFunc                timeout_func,
                        gboolean                   xdir,
                        gboolean                   include_windows,
                        gboolean                   keyboard_op)
@@ -348,25 +317,11 @@ apply_edge_resistance (MetaWindow                *window,
   const int PIXEL_DISTANCE_THRESHOLD_AWAYFROM_MONITOR  =  0;
   const int PIXEL_DISTANCE_THRESHOLD_TOWARDS_SCREEN    = 32;
   const int PIXEL_DISTANCE_THRESHOLD_AWAYFROM_SCREEN   =  0;
-  const int TIMEOUT_RESISTANCE_LENGTH_MS_WINDOW   =   0;
-  const int TIMEOUT_RESISTANCE_LENGTH_MS_MONITOR =   0;
-  const int TIMEOUT_RESISTANCE_LENGTH_MS_SCREEN   =   0;
 
   /* Quit if no movement was specified */
   if (old_pos == new_pos)
     return new_pos;
 
-  /* Remove the old timeout if it's no longer relevant */
-  if (resistance_data->timeout_setup &&
-      ((resistance_data->timeout_edge_pos > old_pos &&
-        resistance_data->timeout_edge_pos > new_pos)  ||
-       (resistance_data->timeout_edge_pos < old_pos &&
-        resistance_data->timeout_edge_pos < new_pos)))
-    {
-      resistance_data->timeout_setup = FALSE;
-      g_clear_handle_id (&resistance_data->timeout_id, g_source_remove);
-    }
-
   /* Get the range of indices in the edge array that we move past/to. */
   begin = find_index_of_edge_near_position (edges, old_pos,  increasing, xdir);
   end   = find_index_of_edge_near_position (edges, new_pos, !increasing, xdir);
@@ -410,48 +365,6 @@ apply_edge_resistance (MetaWindow                *window,
         {
           int threshold;
 
-          /* TIMEOUT RESISTANCE: If the edge is relevant and we're moving
-           * towards it, then we may want to have some kind of time delay
-           * before the user can move past this edge.
-           */
-          if (movement_towards_edge (edge->side_type, increment))
-            {
-              /* First, determine the length of time for the resistance */
-              int timeout_length_ms = 0;
-              switch (edge->edge_type)
-                {
-                case META_EDGE_WINDOW:
-                  if (include_windows)
-                    timeout_length_ms = TIMEOUT_RESISTANCE_LENGTH_MS_WINDOW;
-                  break;
-                case META_EDGE_MONITOR:
-                  timeout_length_ms = TIMEOUT_RESISTANCE_LENGTH_MS_MONITOR;
-                  break;
-                case META_EDGE_SCREEN:
-                  timeout_length_ms = TIMEOUT_RESISTANCE_LENGTH_MS_SCREEN;
-                  break;
-                }
-
-              if (!resistance_data->timeout_setup &&
-                  timeout_length_ms != 0)
-                {
-                  resistance_data->timeout_id =
-                    g_timeout_add (timeout_length_ms,
-                                   edge_resistance_timeout,
-                                   resistance_data);
-                  g_source_set_name_by_id (resistance_data->timeout_id,
-                                           "[mutter] edge_resistance_timeout");
-                  resistance_data->timeout_setup = TRUE;
-                  resistance_data->timeout_edge_pos = compare;
-                  resistance_data->timeout_over = FALSE;
-                  resistance_data->timeout_func = timeout_func;
-                  resistance_data->window = window;
-                }
-              if (!resistance_data->timeout_over &&
-                  timeout_length_ms != 0)
-                return compare;
-            }
-
           /* PIXEL DISTANCE MOUSE RESISTANCE: If the edge matters and the
            * user hasn't moved at least threshold pixels past this edge,
            * stop movement at this edge.  (Note that this is different from
@@ -545,7 +458,6 @@ apply_edge_resistance_to_each_side (MetaDisplay             *display,
                                     MetaWindow              *window,
                                     const MetaRectangle     *old_outer,
                                     MetaRectangle           *new_outer,
-                                    GSourceFunc              timeout_func,
                                     MetaEdgeResistanceFlags  flags,
                                     gboolean                 is_resize)
 {
@@ -659,8 +571,6 @@ apply_edge_resistance_to_each_side (MetaDisplay             *display,
                                               old_outer,
                                               new_outer,
                                               edge_data->left_edges,
-                                              &edge_data->left_data,
-                                              timeout_func,
                                               TRUE,
                                               include_windows,
                                               keyboard_op);
@@ -670,8 +580,6 @@ apply_edge_resistance_to_each_side (MetaDisplay             *display,
                                               old_outer,
                                               new_outer,
                                               edge_data->right_edges,
-                                              &edge_data->right_data,
-                                              timeout_func,
                                               TRUE,
                                               include_windows,
                                               keyboard_op);
@@ -690,8 +598,6 @@ apply_edge_resistance_to_each_side (MetaDisplay             *display,
                                               old_outer,
                                               new_outer,
                                               edge_data->top_edges,
-                                              &edge_data->top_data,
-                                              timeout_func,
                                               FALSE,
                                               include_windows,
                                               keyboard_op);
@@ -701,8 +607,6 @@ apply_edge_resistance_to_each_side (MetaDisplay             *display,
                                               old_outer,
                                               new_outer,
                                               edge_data->bottom_edges,
-                                              &edge_data->bottom_data,
-                                              timeout_func,
                                               FALSE,
                                               include_windows,
                                               keyboard_op);
@@ -792,16 +696,6 @@ meta_display_cleanup_edges (MetaDisplay *display)
   edge_data->top_edges = NULL;
   edge_data->bottom_edges = NULL;
 
-  /* Cleanup the timeouts */
-  if (edge_data->left_data.timeout_setup)
-    g_clear_handle_id (&edge_data->left_data.timeout_id, g_source_remove);
-  if (edge_data->right_data.timeout_setup)
-    g_clear_handle_id (&edge_data->right_data.timeout_id, g_source_remove);
-  if (edge_data->top_data.timeout_setup)
-    g_clear_handle_id (&edge_data->top_data.timeout_id, g_source_remove);
-  if (edge_data->bottom_data.timeout_setup)
-    g_clear_handle_id (&edge_data->bottom_data.timeout_id, g_source_remove);
-
   g_free (display->grab_edge_resistance_data);
   display->grab_edge_resistance_data = NULL;
 }
@@ -979,22 +873,6 @@ cache_edges (MetaDisplay *display,
                 stupid_sort_requiring_extra_pointer_dereference);
 }
 
-static void
-initialize_grab_edge_resistance_data (MetaDisplay *display)
-{
-  MetaEdgeResistanceData *edge_data = display->grab_edge_resistance_data;
-
-  edge_data->left_data.timeout_setup   = FALSE;
-  edge_data->right_data.timeout_setup  = FALSE;
-  edge_data->top_data.timeout_setup    = FALSE;
-  edge_data->bottom_data.timeout_setup = FALSE;
-
-  edge_data->left_data.keyboard_buildup   = 0;
-  edge_data->right_data.keyboard_buildup  = 0;
-  edge_data->top_data.keyboard_buildup    = 0;
-  edge_data->bottom_data.keyboard_buildup = 0;
-}
-
 static void
 compute_resistance_and_snapping_edges (MetaDisplay *display)
 {
@@ -1179,18 +1057,12 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
                workspace_manager->active_workspace->monitor_edges,
                workspace_manager->active_workspace->screen_edges);
   g_list_free (edges);
-
-  /*
-   * 6th: Initialize the resistance timeouts and buildups
-   */
-  initialize_grab_edge_resistance_data (display);
 }
 
 void
 meta_window_edge_resistance_for_move (MetaWindow              *window,
                                       int                     *new_x,
                                       int                     *new_y,
-                                      GSourceFunc              timeout_func,
                                       MetaEdgeResistanceFlags  flags)
 {
   MetaRectangle old_outer, proposed_outer, new_outer;
@@ -1214,7 +1086,6 @@ meta_window_edge_resistance_for_move (MetaWindow              *window,
                                           window,
                                           &old_outer,
                                           &new_outer,
-                                          timeout_func,
                                           flags,
                                           is_resize))
     {
@@ -1272,7 +1143,6 @@ meta_window_edge_resistance_for_resize (MetaWindow              *window,
                                         int                     *new_width,
                                         int                     *new_height,
                                         MetaGravity              gravity,
-                                        GSourceFunc              timeout_func,
                                         MetaEdgeResistanceFlags  flags)
 {
   MetaRectangle old_outer, new_outer;
@@ -1295,7 +1165,6 @@ meta_window_edge_resistance_for_resize (MetaWindow              *window,
                                           window,
                                           &old_outer,
                                           &new_outer,
-                                          timeout_func,
                                           flags,
                                           TRUE))
     {
diff --git a/src/core/edge-resistance.h b/src/core/edge-resistance.h
index 4eb6abdca3..a1df480295 100644
--- a/src/core/edge-resistance.h
+++ b/src/core/edge-resistance.h
@@ -27,13 +27,11 @@
 void meta_window_edge_resistance_for_move   (MetaWindow              *window,
                                              int                     *new_x,
                                              int                     *new_y,
-                                             GSourceFunc              timeout_func,
                                              MetaEdgeResistanceFlags  flags);
 void meta_window_edge_resistance_for_resize (MetaWindow              *window,
                                              int                     *new_width,
                                              int                     *new_height,
                                              MetaGravity              gravity,
-                                             GSourceFunc              timeout_func,
                                              MetaEdgeResistanceFlags  flags);
 
 #endif /* META_EDGE_RESISTANCE_H */
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index b1ab7bfce2..975e68897a 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -2510,7 +2510,6 @@ process_keyboard_move_grab (MetaDisplay     *display,
       meta_window_edge_resistance_for_move (window,
                                             &x,
                                             &y,
-                                            NULL,
                                             flags);
 
       meta_window_move_frame (window, TRUE, x, y);
@@ -2864,7 +2863,6 @@ process_keyboard_resize_grab (MetaDisplay     *display,
                                               &width,
                                               &height,
                                               gravity,
-                                              NULL,
                                               flags);
 
       meta_window_resize_frame_with_gravity (window,
diff --git a/src/core/window.c b/src/core/window.c
index 9b3f54df9e..0f0c644d6d 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -139,13 +139,11 @@ static void     update_move           (MetaWindow              *window,
                                        MetaEdgeResistanceFlags  flags,
                                        int                      x,
                                        int                      y);
-static gboolean update_move_timeout   (gpointer data);
 static void     update_resize         (MetaWindow              *window,
                                        MetaEdgeResistanceFlags  flags,
                                        int                      x,
                                        int                      y,
                                        gboolean                 force);
-static gboolean update_resize_timeout (gpointer data);
 static gboolean should_be_on_all_workspaces (MetaWindow *window);
 
 static void meta_window_flush_calc_showing   (MetaWindow *window);
@@ -6104,19 +6102,6 @@ check_moveresize_frequency (MetaWindow *window,
   return TRUE;
 }
 
-static gboolean
-update_move_timeout (gpointer data)
-{
-  MetaWindow *window = data;
-
-  update_move (window,
-               window->display->grab_last_edge_resistance_flags,
-               window->display->grab_latest_motion_x,
-               window->display->grab_latest_motion_y);
-
-  return FALSE;
-}
-
 static void
 update_move_maybe_tile (MetaWindow *window,
                         int         shake_threshold,
@@ -6351,7 +6336,6 @@ update_move (MetaWindow              *window,
   meta_window_edge_resistance_for_move (window,
                                         &new_x,
                                         &new_y,
-                                        update_move_timeout,
                                         flags);
 
   meta_window_move_frame (window, TRUE, new_x, new_y);
@@ -6490,7 +6474,6 @@ update_resize (MetaWindow              *window,
                                           &new_rect.width,
                                           &new_rect.height,
                                           gravity,
-                                          update_resize_timeout,
                                           flags);
 
   meta_window_resize_frame_with_gravity (window, TRUE,


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