# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: E:\NB CVS\core\windows\src\org\netbeans\core\windows # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: Central.java --- E:\NB CVS\core\windows\src\org\netbeans\core\windows\Central.java Base (1.62) +++ E:\NB CVS\core\windows\src\org\netbeans\core\windows\Central.java Locally Modified (Based On 1.62) @@ -570,9 +570,11 @@ //mkleint since one cannot close the sliding mode just like that, we don't need to check the previous mode of the tc. model.removeModeTopComponent(mode, tc, null); String id = WindowManagerImpl.getInstance().findTopComponentID(tc); + if((tc.getPersistenceType()!=TopComponent.PERSISTENCE_ALWAYS)){ PersistenceManager.getDefault().removeGlobalTopComponentID(id); } } + } ModeImpl oldActive = getActiveMode(); ModeImpl newActive; @@ -891,8 +893,14 @@ } model.removeModeTopComponent(mode, tc, recentTc); String id = WindowManagerImpl.getInstance().findTopComponentID(tc); + /** BugId #109098 + * make sure you call this only on TCs that are NOT TC.PERSISTENT_ALWAYS + */ + if((tc.getPersistenceType()!=TopComponent.PERSISTENCE_ALWAYS)){ PersistenceManager.getDefault().removeGlobalTopComponentID(id); + } + ModeImpl oldActive = getActiveMode(); ModeImpl newActive; if(model.getModeOpenedTopComponents(mode).isEmpty() && mode == oldActive) { @@ -1185,8 +1193,10 @@ } else { model.removeModeTopComponent(mode, tc, null); String id = WindowManagerImpl.getInstance().findTopComponentID(tc); + if((tc.getPersistenceType()!=TopComponent.PERSISTENCE_ALWAYS)){ PersistenceManager.getDefault().removeGlobalTopComponentID(id); } + } closedTcs.add(tc); } }