if (layout != null) layout.layout (this, false);
if (layout != null) { markLayout (false, false); updateLayout (false); }
int XStructureNotify (int w, int client_data, int call_data, int continue_to_dispatch) {	XConfigureEvent xEvent = new XConfigureEvent ();	OS.memmove (xEvent, call_data, XConfigureEvent.sizeof);	int handle = OS.XtWindowToWidget (xEvent.display, xEvent.window);	if (handle != shellHandle) {		return super.XStructureNotify (w, client_data, call_data, continue_to_dispatch);	}	switch (xEvent.type) {		case OS.ReparentNotify: {			reparented = true;			adjustTrim ();			break;		}		case OS.ConfigureNotify:			int [] root_x = new int [1], root_y = new int [1], child = new int [1];			OS.XTranslateCoordinates (xEvent.display, xEvent.window, OS.XDefaultRootWindow (xEvent.display), 0, 0, root_x, root_y, child);			if (!moved || oldX != root_x [0] || oldY != root_y [0]) {				moved = true;				oldX = root_x [0];				oldY = root_y [0];				sendEvent (SWT.Move);				if (isDisposed ()) return 0;			}			updateResizable (xEvent.width, xEvent.height);			if (!resized || oldWidth != xEvent.width || oldHeight != xEvent.height) {				int xEvent1 = OS.XtMalloc (XEvent.sizeof);				display.resizeWindow = xEvent.window;				display.resizeWidth = xEvent.width;				display.resizeHeight = xEvent.height;				display.resizeCount = 0;				int checkResizeProc = display.checkResizeProc;				OS.XCheckIfEvent (xEvent.display, xEvent1, checkResizeProc, 0);				OS.XtFree (xEvent1);				if (display.resizeCount == 0) {					resized = true;					oldWidth = xEvent.width;					oldHeight = xEvent.height;					sendEvent (SWT.Resize);					if (isDisposed ()) return 0;					if (layout != null) layout.layout (this, false);				}			}			return 0;		case OS.UnmapNotify:			int [] argList = {OS.XmNmappedWhenManaged, 0};			OS.XtGetValues (shellHandle, argList, argList.length / 2);			if (argList [1] != 0) {				minimized = true;				sendEvent (SWT.Iconify);			}			return 0;		case OS.MapNotify:			if (minimized) {				minimized = false;				sendEvent (SWT.Deiconify);			}			return 0;	}	return 0;}