diff options
author | Sergey Prigogin | 2015-04-30 03:10:21 +0000 |
---|---|---|
committer | Arun Thondapu | 2015-04-30 16:36:31 +0000 |
commit | aed168c9b225837462990c700f28682c85d81d27 (patch) | |
tree | 4ade55722a5694703e17e1e553ebdefef4746950 | |
parent | 061d96b4a6b703198760499919e87f927665b2ab (diff) | |
download | eclipse.platform.swt-aed168c9b225837462990c700f28682c85d81d27.tar.gz eclipse.platform.swt-aed168c9b225837462990c700f28682c85d81d27.tar.xz eclipse.platform.swt-aed168c9b225837462990c700f28682c85d81d27.zip |
Bug 465868 - A UI freeze in context assist is not caught by UI
Responsiveness Monitoring
Change-Id: If4cc13aabc8733c1c0ae6177cd2e82bbcb1a513c
Signed-off-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
3 files changed, 30 insertions, 6 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java index 44a8177afe..ed7aefccda 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2014 IBM Corporation and others. + * Copyright (c) 2000, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -1098,7 +1098,15 @@ void error (int code) { } boolean filterEvent (Event event) { - if (filterTable != null) filterTable.sendEvent (event); + if (filterTable != null) { + int type = event.type; + sendPreEvent (type); + try { + filterTable.sendEvent (event); + } finally { + sendPostEvent (type); + } + } return false; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java index d9a69c0d69..6afbc710d1 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2014 IBM Corporation and others. + * Copyright (c) 2000, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -1543,7 +1543,15 @@ static GtkBorder getEntryInnerBorder (long /*int*/ handle) { } boolean filterEvent (Event event) { - if (filterTable != null) filterTable.sendEvent (event); + if (filterTable != null) { + int type = event.type; + sendPreEvent (type); + try { + filterTable.sendEvent (event); + } finally { + sendPostEvent (type); + } + } return false; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java index d02ea09742..12f8265e7a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2014 IBM Corporation and others. + * Copyright (c) 2000, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -1259,7 +1259,15 @@ void error (int code) { } boolean filterEvent (Event event) { - if (filterTable != null) filterTable.sendEvent (event); + if (filterTable != null) { + int type = event.type; + sendPreEvent (type); + try { + filterTable.sendEvent (event); + } finally { + sendPostEvent (type); + } + } return false; } |