aboutsummaryrefslogtreecommitdiff
path: root/src/folderview.c
diff options
context:
space:
mode:
authorHiro <Hiro@ee746299-78ed-0310-b773-934348b2243d>2005-10-10 16:29:20 +0000
committerHiro <Hiro@ee746299-78ed-0310-b773-934348b2243d>2005-10-10 16:29:20 +0000
commit4b222b11e2adb92c8109820e2ddebd5d7a1ba898 (patch)
tree51a3029996f07243017a487508d52cf6acc57f0c /src/folderview.c
parent57940797b47f21c2a5f54b6d12abad9553e0e0f9 (diff)
fixed DnD on Win32.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@629 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/folderview.c')
-rw-r--r--src/folderview.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/folderview.c b/src/folderview.c
index e640700c..2e4abfba 100644
--- a/src/folderview.c
+++ b/src/folderview.c
@@ -2650,6 +2650,19 @@ static gboolean folderview_drag_motion_cb(GtkWidget *widget,
}
}
+#ifdef G_OS_WIN32
+ /* Win32 hack: somehow context->actions is not properly set on Win32 */
+ {
+ GdkWindow *rootwin;
+ GdkModifierType state;
+
+ rootwin = gtk_widget_get_root_window(widget);
+ gdk_window_get_pointer(rootwin, NULL, NULL, &state);
+ if ((state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) == 0)
+ context->actions = GDK_ACTION_MOVE | GDK_ACTION_COPY;
+ }
+#endif
+
if (acceptable) {
if ((context->actions & GDK_ACTION_MOVE) != 0 &&
FOLDER_ITEM_CAN_ADD(src_item))