46,46c46,46 < protected DrawingView selectedView; --- > private DrawingView selectedView; 77a78,78 > * 78,78d77 < * if this is the last view set it to null 83,86d82 < if (getComponentCount() == 0){ < setActiveDrawingView(null); < fireDrawingViewSelectedEvent(selectedView); < } 114,114d109 < fireDrawingViewSelectedEvent(selectedView); 116a112,116 > 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) > } > } 117,118d111 < //public void internalFrameDeactivated(InternalFrameEvent e) { < //} 152,152c150,150 < private void fireDrawingViewSelectedEvent(final DrawingView dv) { --- > private void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) { 159,159c157,157 < dpe = new DesktopEvent(MDIDesktopPane.this, dv); --- > dpe = new DesktopEvent(MDIDesktopPane.this, newView); 162,162c160,160 < dpl.drawingViewSelected(dpe); --- > dpl.drawingViewSelected(oldView,dpe); 197a196,196 > DrawingView oldSelectedView = selectedView; 198a198,198 > fireDrawingViewSelectedEvent(oldSelectedView, newSelectedView);