| Summary: | SWT.Hide not sent properly for menus | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Silenio Quarti <Silenio_Quarti> | ||||
| Component: | SWT | Assignee: | Silenio Quarti <Silenio_Quarti> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | Kevin_McGuire, mauromol | ||||
| Version: | 3.7 | ||||||
| Target Milestone: | 3.7 M6 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Silenio Quarti
Created attachment 190564 [details]
fix
Snippet:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
public class PR111 {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Menu bar = new Menu(shell, SWT.BAR);
MenuItem file = new MenuItem(bar, SWT.CASCADE);
file.setText("File");
Menu m = new Menu(shell, SWT.DROP_DOWN);
file.setMenu(m);
MenuItem i1 = new MenuItem(m, SWT.PUSH);
i1.setText("New");
MenuItem i2 = new MenuItem(m, SWT.CASCADE);
i2.setText("Sub");
MenuItem i3 = new MenuItem(m, SWT.PUSH);
i3.setText("Other");
Menu m1 = new Menu(shell, SWT.DROP_DOWN);
i2.setMenu(m1);
MenuItem i4 = new MenuItem(m1, SWT.PUSH);
i4.setText("Sub Item0");
MenuItem i5 = new MenuItem(m1, SWT.PUSH);
i5.setText("Sub Item1");
shell.setMenuBar(bar);
Listener hide = new Listener() {
public void handleEvent(Event event) {
System.out.println("hide=" + event.widget);
}
};
Listener show = new Listener() {
public void handleEvent(Event event) {
System.out.println("show=" + event.widget);
}
};
display.addFilter(SWT.Show, show);
display.addFilter(SWT.Hide, hide);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Fixed > 20110307 *** Bug 244316 has been marked as a duplicate of this bug. *** |