*** empty log message ***
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/photon/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/photon/org/eclipse/swt/widgets/Composite.java
index f40e731..c898b47 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/photon/org/eclipse/swt/widgets/Composite.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/photon/org/eclipse/swt/widgets/Composite.java
@@ -478,16 +478,18 @@
 	

 			/* Grab pointer */

 			if (!(menu != null && pe.buttons == OS.Ph_BUTTON_MENU)) {

-				PhRect_t rect = new PhRect_t ();

-				PhPoint_t pos = new PhPoint_t();

-				pos.x = pe.pos_x;

-				pos.y = pe.pos_y;

-				rect.ul_x = rect.lr_x = (short) (pos.x + ev.translation_x);

-				rect.ul_y = rect.lr_y = (short) (pos.y + ev.translation_y);

-				int rid = OS.PtWidgetRid (handle);

-				int input_group = OS.PhInputGroup (0);

-				int flags = OS.Ph_DRAG_KEY_MOTION | OS.Ph_DRAG_TRACK | OS.Ph_TRACK_DRAG;

-				OS.PhInitDrag (rid, flags, rect, null, input_group, null, null, null, pos, null);

+				if (pe.click_count == 1) {

+					PhRect_t rect = new PhRect_t ();

+					PhPoint_t pos = new PhPoint_t();

+					pos.x = pe.pos_x;

+					pos.y = pe.pos_y;

+					rect.ul_x = rect.lr_x = (short) (pos.x + ev.translation_x);

+					rect.ul_y = rect.lr_y = (short) (pos.y + ev.translation_y);

+					int rid = OS.PtWidgetRid (handle);

+					int input_group = OS.PhInputGroup (0);

+					int flags = OS.Ph_DRAG_KEY_MOTION | OS.Ph_DRAG_TRACK | OS.Ph_TRACK_DRAG;

+					OS.PhInitDrag (rid, flags, rect, null, input_group, null, null, null, pos, null);

+				}

 			}

 	

 			int result = super.processMouse (info);

diff --git a/bundles/org.eclipse.swt/Eclipse SWT/photon/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/photon/org/eclipse/swt/widgets/Control.java
index 58472d0..dcb4fe6 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/photon/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/photon/org/eclipse/swt/widgets/Control.java
@@ -1408,9 +1408,15 @@
 	PtCallbackInfo_t cbinfo = new PtCallbackInfo_t ();

 	OS.memmove (cbinfo, info, PtCallbackInfo_t.sizeof);

 	if (cbinfo.reason == OS.Pt_CB_MENU) {

-		if (menu != null && !menu.isDisposed ()) {

-			menu.setVisible (true);

-		}

+		//TEMPORARY CODE

+		Display display = getDisplay ();

+		display.asyncExec(new Runnable () {

+			public void run() {

+				if (menu != null && !menu.isDisposed ()) {

+					menu.setVisible (true);

+				}

+			}

+		});

 	}	

 	return OS.Pt_CONTINUE;

 }