Bug 63605 - Modal progress improvements round two
Summary: Modal progress improvements round two
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0 RC1   Edit
Assignee: Darin Wright CLA
QA Contact:
URL:
Whiteboard:
Keywords: polish
Depends on: 63854
Blocks:
  Show dependency tree
 
Reported: 2004-05-23 16:10 EDT by Erich Gamma CLA
Modified: 2004-05-27 11:01 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erich Gamma CLA 2004-05-23 16:10:44 EDT
see bug# 63604
Comment 1 Erich Gamma CLA 2004-05-23 16:12:21 EDT
There is just a single use in the JDIDebugPlugin
Comment 2 Erich Gamma CLA 2004-05-23 16:14:27 EDT
And another one in the JavaSnippetEditor
Comment 3 Erich Gamma CLA 2004-05-25 06:59:34 EDT
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.
Comment 4 Erich Gamma CLA 2004-05-26 13:54:56 EDT
the issue with runInUI has been resolved.
please see bug# 63607 for how to test the conversion.
Comment 5 Kevin Barnes CLA 2004-05-26 16:26:54 EDT
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
Comment 6 Kevin Barnes CLA 2004-05-26 16:27:45 EDT
Darin, please verify
Comment 7 Erich Gamma CLA 2004-05-26 17:10:10 EDT
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?
Comment 8 Kevin Barnes CLA 2004-05-26 17:53:45 EDT
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.
Comment 9 Darin Wright CLA 2004-05-27 11:01:29 EDT
Verified.