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.
RunToCursorActionProvider is listening to too many changes - MainProjectManager, TopComponent.Registry, DebuggerManager. This means it updates its enabled/disabled state every time when an event arrives including every notification about TC opening and similar. This is very similar to JspRunToCursor but sligthly better because there is no conversion URL->URI->FileObject so shorter time is spent in this provider.
Seems to be common pattern in debugger. Property changes are re-fired from EditorContextImpl. During startup there are events for activated+current nodes, every opened TC, activated TC. All these changes are propagated to action providers to update their state.
The primary problem is in Openide - just do not fire so many changes during startup. But we can do some improvements, probably.
Blaming the openide does not help much. You can file a bug/rfe if you think that there are avoidable events fired but at least 'tc opened' is expected by some modules and this is the reason why your approach does not scale well. Any progress on this?
This is the consequence of the design of debugger actions. The action state is cached, so that isEnabled() is fast. But in order to work correctly, one has to "push" the correct state there each time something changes. If the action's state depends on selected node(s), this is not much efficient, because the selected nodes are changing often. isEnabled() delegating to ActionsManager.isEnabled() would have to be added into org.netbeans.modules.debugger.ui.actions.DebuggerAction. The problem is, that this would change the behavior and this is API...
The performance team should complain sooner, I will not change the API in this stage.
Also ToggleBreakpointActionProvider should obtain events only when a current URL has changed (and not get all node change events). A way how to attach for more specific events should be added.
This should have been fixed by the new EditorContextDispatcher. Please correct me if I'm wrong.
Verified ... and Closing all issues resolved into NetBeans 6.7 and earlier.