if ((shell.style & SWT.ON_TOP) != 0) shell.forceActive ();
if (((shell.style & SWT.ON_TOP) != 0) && (((shell.style & SWT.NO_FOCUS) == 0) || ((style & SWT.NO_FOCUS) == 0))) { shell.forceActive(); }
int XButtonPress (int w, int client_data, int call_data, int continue_to_dispatch) {	Display display = this.display;	display.hideToolTip ();	Shell shell = getShell ();	if ((shell.style & SWT.ON_TOP) != 0) shell.forceActive ();	XButtonEvent xEvent = new XButtonEvent ();	OS.memmove (xEvent, call_data, XButtonEvent.sizeof);	int clickTime = display.getDoubleClickTime ();	int lastTime = display.lastTime, eventTime = xEvent.time;	int lastButton = display.lastButton, eventButton = xEvent.button;	if (lastButton == eventButton && lastTime != 0 && Math.abs (lastTime - eventTime) <= clickTime) {		display.clickCount++;	} else {		display.clickCount = 1;	}	display.lastTime = eventTime == 0 ? 1 : eventTime;	display.lastButton = eventButton;	boolean dispatch = sendMouseEvent (SWT.MouseDown, xEvent);	if (isDisposed ()) return 1;	if (xEvent.button == 2) {		boolean dragDetect = dragDetect (xEvent.x, xEvent.y);		if (dragDetect) {			sendDragEvent (xEvent.x, xEvent.y);			if (isDisposed ()) return 1;		}		if (dragOverride () && dragDetect) return 1;	}	if (xEvent.button == 3) {		if (menu != null || hooks (SWT.MenuDetect)) {			if (!isFocusControl ()) setFocus ();		}		showMenu (xEvent.x_root, xEvent.y_root);		if (isDisposed ()) return 1;	}	if (display.clickCount == 2) {		dispatch = sendMouseEvent (SWT.MouseDoubleClick, xEvent);		// widget could be disposed at this point	}	if (!shell.isDisposed ()) shell.setActiveControl (this);	if (!dispatch) {		OS.memmove (continue_to_dispatch, new int [1], 4);		return 1;	}	return 0;}