summaryrefslogtreecommitdiff
path: root/libcaja-private
diff options
context:
space:
mode:
Diffstat (limited to 'libcaja-private')
-rw-r--r--libcaja-private/caja-dnd.c11
-rw-r--r--libcaja-private/caja-icon-container.c8
-rw-r--r--libcaja-private/caja-tree-view-drag-dest.c11
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);