| Summary: | Unable to select any window when JFace warning dialog and file browse dialog are both open | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Tim <tpwinkle> | ||||||
| Component: | SWT | Assignee: | Silenio Quarti <Silenio_Quarti> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | major | ||||||||
| Priority: | P3 | CC: | daniel_megert, eclipse.felipe, gheorghe, markus.kell.r, mukund, raji, Silenio_Quarti, skovatch | ||||||
| Version: | 3.4.2 | Flags: | eclipse.felipe:
review+
|
||||||
| Target Milestone: | 3.6.1 | ||||||||
| Hardware: | Macintosh | ||||||||
| OS: | Mac OS X - Carbon (unsup.) | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Tim
Does this happen in 3.5 or 3.6 carbon? There won't be any updates to the 3.4 stream (that I'm aware of.) This is being seen in Lotus Sametime and the team has confirmed that they see this issue on 3.5.2 Carbon. The problem still happens in carbon HEAD. Here is a test case.
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new GridLayout());
Button b = new Button(shell, SWT.PUSH);
b.setText("Open File Dialog");
b.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
FileDialog dialog = new FileDialog(shell, SWT.NONE);
display.asyncExec(new Runnable() {
public void run() {
// Problem does not happen with MessageBox
// MessageBox box = new MessageBox(shell, SWT.NONE);
// box.setText("Hi");
// box.setMessage("Hello");
// box.open();
final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
dialog.setLayout(new GridLayout());
Button b = new Button(dialog, SWT.PUSH);
b.setText("Close");
b.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
dialog.close();
}
});
dialog.pack();
dialog.open();
while (!dialog.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
}
});
dialog.open();
}
});
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
Comment above is mine. Created attachment 169855 [details]
patch
This is a possible fix for HEAD. It needs a lot more testing. Depending how testing goes it will be released after 3.6 ships.
Fix is working for us for file dialog. Sametime team is now requesting similar fix for directory dialog. Do you want Tim to open a separate bugzilla for DirectoryDialog? No need. Note that I will only be able to investigate the DirectoryDialog case next week. Created attachment 173823 [details]
patch for HEAD (FileDialog and DirectoryDialog)
Fixed > 20100708 (HEAD only) Can you please include this fix in 3.6.1? Felipe, please review for 3.6.1 Fix released to R3_6_maintenance. |