46c46 < protected DrawingView selectedView; --- > private DrawingView selectedView; 78c78 < * if this is the last view set it to null --- > * 83,86d82 < if (getComponentCount() == 0){ < setActiveDrawingView(null); < fireDrawingViewSelectedEvent(selectedView); < } 114d109 < fireDrawingViewSelectedEvent(selectedView); 117,118c112,116 < //public void internalFrameDeactivated(InternalFrameEvent e) { < //} --- > public void internalFrameDeactivated(InternalFrameEvent e) { > if (getComponentCount() == 0){ //could be a component without a DrawingView. should use helper here. > setActiveDrawingView(null); //mrfloppy, investigate using NullDrawingView here please.( i will assist) > } > } 152c150 < private void fireDrawingViewSelectedEvent(final DrawingView dv) { --- > private void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) { 159c157 < dpe = new DesktopEvent(MDIDesktopPane.this, dv); --- > dpe = new DesktopEvent(MDIDesktopPane.this, newView); 162c160 < dpl.drawingViewSelected(dpe); --- > dpl.drawingViewSelected(oldView,dpe); 197a196 > DrawingView oldSelectedView = selectedView; 198a198 > fireDrawingViewSelectedEvent(oldSelectedView, newSelectedView);