From: John Darrington Date: Sat, 27 Jun 2015 11:28:40 +0000 (+0200) Subject: Revert "Replaced a few instances of gdk_window_get_pointer by gdk_device_get_position" X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85504dbd347c77decad21e7d730b60a4fac52e07;p=pspp Revert "Replaced a few instances of gdk_window_get_pointer by gdk_device_get_position" This reverts commit 70702237d6765a3cc276e952919211387eeee87c. It seems to cause problems selecting areas on the sheet. --- diff --git a/src/ui/gui/pspp-sheet-private.h b/src/ui/gui/pspp-sheet-private.h index 66719675f9..508e78fb0f 100644 --- a/src/ui/gui/pspp-sheet-private.h +++ b/src/ui/gui/pspp-sheet-private.h @@ -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; diff --git a/src/ui/gui/pspp-sheet-view.c b/src/ui/gui/pspp-sheet-view.c index e2ca708cf6..641b77bd57 100644 --- a/src/ui/gui/pspp-sheet-view.c +++ b/src/ui/gui/pspp-sheet-view.c @@ -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); }