| Summary: | Terminate and Remove doesn't always terminate (but always removes) | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Michael Dillon <michael.dillon> | ||||||
| Component: | Debug | Assignee: | Pawel Piech <pawel.1.piech> | ||||||
| Status: | VERIFIED FIXED | QA Contact: | |||||||
| Severity: | minor | ||||||||
| Priority: | P3 | CC: | Michael_Rennie, pawel.1.piech, teodor.madan | ||||||
| Version: | 3.7 | Flags: | Michael_Rennie:
review+
|
||||||
| Target Milestone: | 3.8 M2 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Michael Dillon
Created attachment 202738 [details]
Fix (not used).
Update TerminateCommand to report it is executable if at least one selected target can be terminated.
It is a debug platform issue. It can be reproduced on CDT as well. (In reply to comment #1) > Created attachment 202738 [details] > Fix > > Update TerminateCommand to report it is executable if at least one selected > target can be terminated. There's a couple possible solutions to this, all of them have some drawbacks: 1) The solution proposed in patch changes the behavior of the standard terminate action, such that if multiple elements are selected, the terminate action will be enabled if ANY of the elements can be terminated. The current action enablement is to enable only if all selected elements can be terminated. 2) For the Terminate and Remove action, call the ITerminateHandler.execute() even if ITerminateHandler.canExecute() returns false. The swallow the error if one comes back. This will allow the handler to terminate some of the selected elements, but without changing the behavior of the terminate handler. The down-side is that terminate and remove may suppress other valid errors that would be shown to the user upon Terminate and Remove. I personally don't like either option, but we'd need to create an "ITerminateHandler2" interface to get the ideal behavior, which seems like an overkill for this minor bug. So I guess I'd recommend going with option 1 and Teodor's patch. Any objections? Another (simpler) option would be to just disable terminate and remove if any of the selected launches are not terminated but terminate is disabled... This seems like the most correct solution. (In reply to comment #4) > Another (simpler) option would be to just disable terminate and remove if any > of the selected launches are not terminated but terminate is disabled... This > seems like the most correct solution. This also feels the most correct to me. Created attachment 202838 [details]
Fix to disable.
(In reply to comment #5) > This also feels the most correct to me. That settles it then, I committed the fix. Mike, please have a look. looks fine to me verified in I20110912-2126 |