summaryrefslogtreecommitdiffstats
path: root/gtk/src/callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/src/callbacks.c')
-rw-r--r--gtk/src/callbacks.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c
index 05a7cba73..6faa6bf5f 100644
--- a/gtk/src/callbacks.c
+++ b/gtk/src/callbacks.c
@@ -2913,6 +2913,17 @@ queue_drag_motion_cb(
gdk_drag_status(ctx, GDK_ACTION_MOVE, time);
return TRUE;
}
+ // Don't allow *drop into*
+ if (pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE)
+ pos = GTK_TREE_VIEW_DROP_BEFORE;
+ if (pos == GTK_TREE_VIEW_DROP_INTO_OR_AFTER)
+ pos = GTK_TREE_VIEW_DROP_AFTER;
+ // Don't allow droping int child items
+ if (gtk_tree_path_get_depth(path) > 1)
+ {
+ gtk_tree_path_up(path);
+ pos = GTK_TREE_VIEW_DROP_AFTER;
+ }
indices = gtk_tree_path_get_indices(path);
row = indices[0];
js = ghb_array_get_nth(ud->queue, row);