if (deactivate) {
if (deferDispose) {
void destroyWidget () {	int theWindow = shellHandle;	/*	* Bug in the Macintosh.  Under certain circumstances, yet to	* be determined, calling HideWindow() and then DisposeWindow()	* causes a segment fault when an application is exiting.  This	* seems to happen to large applications.  The fix is to avoid	* calling HideWindow() when a shell is about to be disposed.	* 	* Bug in the Macintosh.  Disposing a window from kEventWindowDeactivated	* causes a segment fault. The fix is to defer disposing the window until	* the event loop becomes idle.	*/	Display display = this.display;	if (deactivate) OS.HideWindow (shellHandle);	releaseHandle ();	if (theWindow != 0) {		if (deactivate) {			display.addDisposeWindow (theWindow);		} else {			OS.DisposeWindow (theWindow);		}	} }