boolean fixFocus = false; if (!visible) fixFocus = isFocusAncestor ();
public void setVisible (boolean visible) {	checkWidget ();	int bits = OS.GetWindowLong (handle, OS.GWL_STYLE);	if (((bits & OS.WS_VISIBLE) != 0) == visible) return;	if (visible) {		/*		* It is possible (but unlikely), that application		* code could have disposed the widget in the show		* event.  If this happens, just return.		*/		sendEvent (SWT.Show);		if (isDisposed ()) return;	}		/*	* Feature in Windows.  If the receiver has focus, hiding	* the receiver causes no window to have focus.  The fix is	* to assign focus to the first ancestor window that takes	* focus.  If no window will take focus, set focus to the	* desktop.	*///	boolean fixFocus = false;//	if (!visible) fixFocus = isFocusAncestor ();	OS.ShowWindow (handle, visible ? OS.SW_SHOW : OS.SW_HIDE);	if (!visible) {		/*		* It is possible (but unlikely), that application		* code could have disposed the widget in the show		* event.  If this happens, just return.		*/		sendEvent (SWT.Hide);		if (isDisposed ()) return;	}//	if (fixFocus) fixFocus ();}