Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarolyn MacLeod2013-04-05 15:33:41 +0000
committerCarolyn MacLeod2013-04-09 14:57:06 +0000
commit7cabcdf56fba7bd161b65845f9b22f1fa36951a3 (patch)
tree45ea39779d2376efb81e4772ba1c2a6777545134
parent5132565d6b8f90acb3108a87c0378737d4ca269e (diff)
downloadeclipse.platform.swt-7cabcdf56fba7bd161b65845f9b22f1fa36951a3.tar.gz
eclipse.platform.swt-7cabcdf56fba7bd161b65845f9b22f1fa36951a3.tar.xz
eclipse.platform.swt-7cabcdf56fba7bd161b65845f9b22f1fa36951a3.zip
Bug 376011 - [accessibility] Eclipse 4.2 tab traversal needs refining
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java8
2 files changed, 8 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index 6cdacc9135..14a41ac7e0 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -2988,7 +2988,7 @@ long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ event, bo
result = sendMouseEvent (SWT.MouseDoubleClick, gdkEvent.button, display.clickCount, 0, false, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
if (isDisposed ()) return 1;
}
- if (!shell.isDisposed ()) shell.setActiveControl (this);
+ if (!shell.isDisposed ()) shell.setActiveControl (this, SWT.MouseDown);
return result;
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
index 4a349ac379..6cd7da57ac 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
@@ -1635,6 +1635,10 @@ public void setActive () {
}
void setActiveControl (Control control) {
+ setActiveControl (control, SWT.None);
+}
+
+void setActiveControl (Control control, int type) {
if (control != null && control.isDisposed ()) control = null;
if (lastActive != null && lastActive.isDisposed ()) lastActive = null;
if (lastActive == control) return;
@@ -1666,7 +1670,9 @@ void setActiveControl (Control control) {
}
for (int i=activate.length-1; i>=index; --i) {
if (!activate [i].isDisposed ()) {
- activate [i].sendEvent (SWT.Activate);
+ Event event = new Event ();
+ event.detail = type;
+ activate [i].sendEvent (SWT.Activate, event);
}
}
}

Back to the top