36729 - File deleted by unexpected drag and drop
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
index fa46f70..a8b885e 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
@@ -6254,6 +6254,7 @@
 		}
 		case OS.LVN_BEGINDRAG:
 		case OS.LVN_BEGINRDRAG: {
+			if (OS.GetKeyState (OS.VK_LBUTTON) >= 0) break;
 			dragStarted = true;
 			if (hdr.code == OS.LVN_BEGINDRAG) {
 				int pos = OS.GetMessagePos ();
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
index adfde3c..039ef63 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
@@ -7215,8 +7215,11 @@
 		}
 		case OS.TVN_BEGINDRAGA:
 		case OS.TVN_BEGINDRAGW:
+			if (OS.GetKeyState (OS.VK_LBUTTON) >= 0) break;
+			//FALL THROUGH
 		case OS.TVN_BEGINRDRAGA:
 		case OS.TVN_BEGINRDRAGW: {
+			dragStarted = true;
 			NMTREEVIEW treeView = new NMTREEVIEW ();
 			OS.MoveMemory (treeView, lParam, NMTREEVIEW.sizeof);
 			TVITEM tvItem = treeView.itemNew;
@@ -7227,7 +7230,6 @@
 				ignoreSelect = ignoreDeselect = false;
 				hSelect = 0;
 			}
-			dragStarted = true;
 			break;
 		}
 		case OS.NM_RECOGNIZEGESTURE: {