Revert "Replaced a few instances of gdk_window_get_pointer by gdk_device_get_position"
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 27 Jun 2015 11:28:40 +0000 (13:28 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 27 Jun 2015 11:28:40 +0000 (13:28 +0200)
This reverts commit 70702237d6765a3cc276e952919211387eeee87c.
It seems to cause problems selecting areas on the sheet.

src/ui/gui/pspp-sheet-private.h
src/ui/gui/pspp-sheet-view.c

index 66719675f94f92292ec5a453e58ac9fd64d655f0..508e78fb0f09a84fa40bb888bb0f86e2f5001d21 100644 (file)
@@ -194,7 +194,6 @@ struct _PsppSheetViewPrivate
   guint open_dest_timeout;
 
   /* Rubber banding */
-  GdkDevice *drag_device;
   gint rubber_band_status;
   gint rubber_band_x;
   gint rubber_band_y;
index e2ca708cf6176c29c130c4cf12a3cf5701c22758..641b77bd572e19d67950eaa37866b4b791d561c6 100644 (file)
@@ -3199,7 +3199,7 @@ pspp_sheet_view_motion_resize_column (GtkWidget      *widget,
   column = pspp_sheet_view_get_column (tree_view, tree_view->priv->drag_pos);
 
   if (event->is_hint || event->window != gtk_widget_get_window (widget))
-    gdk_device_get_position (event->device, NULL, &x, NULL);
+    gtk_widget_get_pointer (widget, &x, NULL);
   else
     x = event->x;
 
@@ -3565,7 +3565,7 @@ pspp_sheet_view_update_rubber_band_selection (PsppSheetView *tree_view)
 #define GDK_RECTANGLE_PTR(X) ((GdkRectangle *)(X))
 
 static void
-pspp_sheet_view_update_rubber_band (PsppSheetView *tree_view, GdkDevice *device)
+pspp_sheet_view_update_rubber_band (PsppSheetView *tree_view)
 {
   gint x, y;
   cairo_rectangle_int_t old_area;
@@ -3579,7 +3579,7 @@ pspp_sheet_view_update_rubber_band (PsppSheetView *tree_view, GdkDevice *device)
   old_area.width = ABS (tree_view->priv->rubber_band_x - tree_view->priv->press_start_x) + 1;
   old_area.height = ABS (tree_view->priv->rubber_band_y - tree_view->priv->press_start_y) + 1;
 
-  gdk_device_get_position (device, NULL, &x, &y);
+  gdk_window_get_pointer (tree_view->priv->bin_window, &x, &y, NULL);
 
   x = MAX (x, 0);
   y = MAX (y, 0) + tree_view->priv->dy;
@@ -3712,14 +3712,14 @@ pspp_sheet_view_motion_bin_window (GtkWidget      *widget,
         return FALSE;
 
       gtk_grab_add (GTK_WIDGET (tree_view));
-      pspp_sheet_view_update_rubber_band (tree_view, event->device);
+      pspp_sheet_view_update_rubber_band (tree_view);
 
       tree_view->priv->rubber_band_status = RUBBER_BAND_ACTIVE;
     }
   else if (tree_view->priv->rubber_band_status == RUBBER_BAND_ACTIVE)
     {
-      pspp_sheet_view_update_rubber_band (tree_view, event->device);
-      tree_view->priv->drag_device = event->device;
+      pspp_sheet_view_update_rubber_band (tree_view);
+
       add_scroll_timeout (tree_view);
     }
 
@@ -5826,9 +5826,7 @@ scroll_row_timeout (gpointer data)
   pspp_sheet_view_vertical_autoscroll (tree_view);
 
   if (tree_view->priv->rubber_band_status == RUBBER_BAND_ACTIVE)
-    {
-      pspp_sheet_view_update_rubber_band (tree_view, tree_view->priv->drag_device);
-    }
+    pspp_sheet_view_update_rubber_band (tree_view);
 
   return TRUE;
 }
@@ -6278,7 +6276,6 @@ pspp_sheet_view_drag_motion (GtkWidget        *widget,
         }
       else
         {
-         tree_view->priv->drag_device = gdk_drag_context_get_device (context);
          add_scroll_timeout (tree_view);
        }