This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
When node selection is changed in the IDE (click on some on in explorer for example) LookupSensitiveActions are updated as they are notified about change in lookup. That's OK because we really want to show the best name of action and set its enabled state properly. The problem is that these updates are expensive - they are usualy accessing ProjectInformantion to get project name. This operation goes to AntProjectHelper where it checks if there is a DOM tree representing project data and clones them. Then we sometimes ignore returned value (popup menu of CloseProject, or if there are more projects in selection). Another bad aspect is that we can compute this information several times during one update of node selection to update several actions.
Hacks is another place where we are asking for display name of current project to update window title when node selection is changed.
Re. Hacks - trunk version already delays change of window title until after a few hundred msec of inactivity, so it is much faster.
Are you saying trunk is much faster than release55 now? I am wondering whether in that case, it would make sense to merge these improvements to the NB 5.5, see also issue 80723. Thanks.
Milosi, I think this belongs to code.
fixed by weakreferencing a previously retrieved value and calling the projectInformation.getDisplayname() only when actually needed. Checking in projects/projectui/src/org/netbeans/modules/project/ui/actions/ActionsUtil.java; /cvs/projects/projectui/src/org/netbeans/modules/project/ui/actions/ActionsUtil.java,v <-- ActionsUtil.java new revision: 1.13; previous revision: 1.12 done Checking in j2ee/earproject/src/org/netbeans/modules/j2ee/earproject/EarProject.java; /cvs/j2ee/earproject/src/org/netbeans/modules/j2ee/earproject/EarProject.java,v <-- EarProject.java new revision: 1.39; previous revision: 1.38 done Checking in j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/EjbJarProject.java; /cvs/j2ee/ejbjarproject/src/org/netbeans/modules/j2ee/ejbjarproject/EjbJarProject.java,v <-- EjbJarProject.java new revision: 1.78; previous revision: 1.77 done Checking in j2ee/archiveproject/src/org/netbeans/modules/j2ee/archive/project/ArchiveProject.java; /cvs/j2ee/archiveproject/src/org/netbeans/modules/j2ee/archive/project/ArchiveProject.java,v <-- ArchiveProject.java new revision: 1.9; previous revision: 1.8 done Checking in web/project/src/org/netbeans/modules/web/project/WebProject.java; /cvs/web/project/src/org/netbeans/modules/web/project/WebProject.java,v <-- WebProject.java new revision: 1.137; previous revision: 1.136 done Checking in j2ee/clientproject/src/org/netbeans/modules/j2ee/clientproject/AppClientProject.java; /cvs/j2ee/clientproject/src/org/netbeans/modules/j2ee/clientproject/AppClientProject.java,v <-- AppClientProject.java new revision: 1.18; previous revision: 1.17 done Checking in java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java; /cvs/java/j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java,v <-- J2SEProject.java new revision: 1.93; previous revision: 1.92 done