diff options
author | Grant Gayed <ggayed> | 2011-01-04 19:42:17 +0000 |
---|---|---|
committer | Grant Gayed <ggayed> | 2011-01-04 19:42:17 +0000 |
commit | 4737356cca1a170e2ac9b75af166990431386cdb (patch) | |
tree | 80ae855575b0286694a1aba22c4e68abdc0ccb8b /bundles/org.eclipse.swt/Eclipse SWT OLE Win32 | |
parent | adc1c99593d3dc7699a7a080880c0339ad9280c5 (diff) | |
download | eclipse.platform.swt-4737356cca1a170e2ac9b75af166990431386cdb.tar.gz eclipse.platform.swt-4737356cca1a170e2ac9b75af166990431386cdb.tar.xz eclipse.platform.swt-4737356cca1a170e2ac9b75af166990431386cdb.zip |
333493 - disposed widget exception when closing editor with Browser with Ctrl+F4
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT OLE Win32')
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java index 0cc4de1ae8..cbc6210488 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java +++ b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleFrame.java @@ -220,7 +220,10 @@ static int /*long*/ getMsgProc(int /*long*/ code, int /*long*/ wParam, int /*lon frame.setData(CONSUME_KEY, null); display.setData(ACCEL_KEY_HIT, Boolean.TRUE); consumed = frame.translateOleAccelerator(msg); + /* translateOleAccelerator() may send client events, ensure that the frame and display are still valid */ + if (display.isDisposed()) return 0; display.setData(ACCEL_KEY_HIT, Boolean.FALSE); + if (frame.isDisposed()) return 0; String value = (String)frame.getData(CONSUME_KEY); if (value != null) consumed = value.equals("true"); //$NON-NLS-1$ frame.setData(CONSUME_KEY, null); |