Community
Participate
Working Groups
see bug# 63604
There is just a single use in the JDIDebugPlugin
And another one in the JavaSnippetEditor
there is an issue with IProgressService.runInUI when it is called while there is a modal dialog open. Until this is understood please don't change the existing code.
the issue with runInUI has been resolved. please see bug# 63607 for how to test the conversion.
JavaSnippetEditor - The case where fork=false, also had cancelable=true and the docs indicated that busyCursorWhile() was prefered to runInUI, so I changed the code to use that method instead. JDIDebugUIPlugin - This one used false for both fork, and cancelable, but it really should be cancelable. Changed the code to use busyCursorWhile and added checks for a canceled monitor to the Runnable. If the monitor is canceled, the method now returns null instead of a dialog so I had to add a check for null in the callers also. Changed files: JavaSnippetEditor JDIDebugUIPlugin JavaStepFilterPreferencePage ExceptionFilterEditor SelectImportsDialog
Darin, please verify
Just to make sure... as you noticed converting to busyCursorWhile is the preferred approach over runInUI. However, when doing so you have to ensure that no widgets are accessed and no dialogs are directly accessed from the runnable otherwise you get illegal thread access exceptions. Did you make sure that this is the case?
yes, In JDIDebugUIPlugin the Runnable is just populating a list. In JavaSnippetEditor it's performing a "save as" but doesn't need to access any widgets or dialogs to do it. File-Save As is still working properly.
Verified.