diff options
Diffstat (limited to 'libcaja-private')
-rw-r--r-- | libcaja-private/caja-dnd.c | 11 | ||||
-rw-r--r-- | libcaja-private/caja-icon-container.c | 8 | ||||
-rw-r--r-- | libcaja-private/caja-tree-view-drag-dest.c | 11 |
3 files changed, 29 insertions, 1 deletions
diff --git a/libcaja-private/caja-dnd.c b/libcaja-private/caja-dnd.c index 9cfbcbc5..f1e3bb70 100644 --- a/libcaja-private/caja-dnd.c +++ b/libcaja-private/caja-dnd.c @@ -957,11 +957,22 @@ void caja_drag_autoscroll_calculate_delta (GtkWidget *widget, float *x_scroll_delta, float *y_scroll_delta) { GtkAllocation allocation; +#if GTK_CHECK_VERSION (3, 0, 0) + GdkDeviceManager *manager; + GdkDevice *pointer; +#endif int x, y; g_assert (GTK_IS_WIDGET (widget)); +#if GTK_CHECK_VERSION (3, 0, 0) + manager = gdk_display_get_device_manager (gtk_widget_get_display (widget)); + pointer = gdk_device_manager_get_client_pointer (manager); + gdk_window_get_device_position (gtk_widget_get_window (widget), pointer, + &x, &y, NULL); +#else gdk_window_get_pointer (gtk_widget_get_window (widget), &x, &y, NULL); +#endif /* Find out if we are anywhere close to the tree view edges * to see if we need to autoscroll. diff --git a/libcaja-private/caja-icon-container.c b/libcaja-private/caja-icon-container.c index 049f2fc2..8dcda910 100644 --- a/libcaja-private/caja-icon-container.c +++ b/libcaja-private/caja-icon-container.c @@ -2785,7 +2785,15 @@ rubberband_timeout_callback (gpointer data) adj_changed = TRUE; } +#if GTK_CHECK_VERSION (3, 0, 0) + gdk_window_get_device_position (gtk_widget_get_window (widget), + gdk_device_manager_get_client_pointer ( + gdk_display_get_device_manager ( + gtk_widget_get_display (widget))), + &x, &y, NULL); +#else gtk_widget_get_pointer (widget, &x, &y); +#endif if (x < 0) { diff --git a/libcaja-private/caja-tree-view-drag-dest.c b/libcaja-private/caja-tree-view-drag-dest.c index accf7bb5..405ec141 100644 --- a/libcaja-private/caja-tree-view-drag-dest.c +++ b/libcaja-private/caja-tree-view-drag-dest.c @@ -102,6 +102,10 @@ gtk_tree_view_vertical_autoscroll (GtkTreeView *tree_view) { GdkRectangle visible_rect; GtkAdjustment *vadjustment; +#if GTK_CHECK_VERSION(3, 0, 0) + GdkDeviceManager *manager; + GdkDevice *pointer; +#endif GdkWindow *window; int y; int offset; @@ -111,11 +115,16 @@ gtk_tree_view_vertical_autoscroll (GtkTreeView *tree_view) #if GTK_CHECK_VERSION(3, 0, 0) vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE(tree_view)); + + manager = gdk_display_get_device_manager (gtk_widget_get_display (GTK_WIDGET (tree_view))); + pointer = gdk_device_manager_get_client_pointer (manager); + gdk_window_get_device_position (window, pointer, + NULL, &y, NULL); #else vadjustment = gtk_tree_view_get_vadjustment (tree_view); -#endif gdk_window_get_pointer (window, NULL, &y, NULL); +#endif y += gtk_adjustment_get_value (vadjustment); |