if (layout != null) layout.layout (this, false);
if (layout != null) { markLayout (false, false); updateLayout (false, false); }
LRESULT WM_SIZE (int wParam, int lParam) {		/* Begin deferred window positioning */	setResizeChildren (false);		/* Resize and Layout */	LRESULT result = super.WM_SIZE (wParam, lParam);	/*	* It is possible (but unlikely), that application	* code could have disposed the widget in the resize	* event.  If this happens, end the processing of the	* Windows message by returning the result of the	* WM_SIZE message.	*/	if (isDisposed ()) return result;	if (layout != null) layout.layout (this, false);	/* End deferred window positioning */	setResizeChildren (true);		/* Damage the widget to cause a repaint */	if ((state & CANVAS) != 0) {		if ((style & SWT.NO_REDRAW_RESIZE) == 0) {			if (hooks (SWT.Paint)) {				OS.InvalidateRect (handle, null, true);			}		}	}	/* Resize the embedded window */	if ((state & CANVAS) != 0 && (style & SWT.EMBEDDED) != 0) {		int hwndChild = OS.GetWindow (handle, OS.GW_CHILD);		if (hwndChild != 0) {			int threadId = OS.GetWindowThreadProcessId (hwndChild, null);			if (threadId != OS.GetCurrentThreadId ()) {				if (display.msgHook == 0) {					if (!OS.IsWinCE) {						display.getMsgCallback = new Callback (display, "getMsgProc", 3);						display.getMsgProc = display.getMsgCallback.getAddress ();						if (display.getMsgProc == 0) error (SWT.ERROR_NO_MORE_CALLBACKS);						display.msgHook = OS.SetWindowsHookEx (OS.WH_GETMESSAGE, display.getMsgProc, OS.GetLibraryHandle(), threadId);					}				}				OS.PostThreadMessage (threadId, Display.SWT_RESIZE, hwndChild, lParam);			}		}	}	return result;}