public void Dispose() { OverlayManager om = OverlayManager.Instance; DestroyAllWidgets(); for ( int i = 0; i < mWidgetDeathRow.Count; i++ ) // delete widgets queued for destruction { mWidgetDeathRow[ i ] = null; } mWidgetDeathRow.Clear(); if ( om != null ) { om.Destroy( this.BackdropLayer ); om.Destroy( mTraysLayer ); om.Destroy( mPriorityLayer ); om.Destroy( cursorLayer ); //CloseDialog(); //hideLoadingBar(); Widget.NukeOverlayElement( backdrop ); Widget.NukeOverlayElement( cursor ); Widget.NukeOverlayElement( mDialogShade ); for ( int i = 0; i < 10; i++ ) { Widget.NukeOverlayElement( mTrays[ i ] ); } } }