Community
Participate
Working Groups
Eclispe 2.0 If you do not actively clean up your debug view (and/or have turned the "remove terminated launches when a new launch is created" option) you can get a lot of old launches quickly. This happens to me a lot when I am creating little test programs. If you have many terminated launches and select "remove all terminated", you get to watch the debug view update after each launch is removed individually. I looked at the code, and we are processing each removal individually. Worse yet, we are doing one expand per removal. We should allow the launches to be removed in one callback. After looking through the code for a while I determined that the problem is the ILaunchListener interface. Each of the methods only accepts one launch at a time. A way we could fix this without breaking API is to introduce an interface (maybe named IMultiLaunchListener or something like that) that extended ILaunchListener. It would have launchesAdded(ILaunch[]), launchesRemoved(ILaunch[]) and launchesChanged(ILaunch[]). Clients that implement IMultiLaunchListener will get callbacks in these new methods, and clients that implement ILaunchListener will get callbacks using the old methods. Is it possible that this is a problem throughout the debug APIs? That is, are there other interfaces that should take arrays instead of single elements?
*** This bug has been marked as a duplicate of 22872 ***