Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarolyn MacLeod2013-04-05 15:48:55 +0000
committerCarolyn MacLeod2013-04-05 15:49:16 +0000
commit975e98f6ef680ed917c7d22fde80e918d5bef60e (patch)
treeb746e652b62b194129b4c4793b2e172d480331bf
parent883033cc7b617766f9502918d65429670572d928 (diff)
downloadeclipse.platform.swt-975e98f6ef680ed917c7d22fde80e918d5bef60e.tar.gz
eclipse.platform.swt-975e98f6ef680ed917c7d22fde80e918d5bef60e.tar.xz
eclipse.platform.swt-975e98f6ef680ed917c7d22fde80e918d5bef60e.zip
Bug 376011 - [accessibility] Eclipse 4.2 tab traversal needs refiningv4324cI20130416-0800I20130409-0900I20130409-0800
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java8
2 files changed, 8 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
index f7dabc4579..946473f8df 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java
@@ -3382,7 +3382,7 @@ boolean sendMouseEvent (NSEvent nsEvent, int type, boolean send) {
} else {
postEvent (type, event);
}
- if (shell != null) shell.setActiveControl(this);
+ if (shell != null) shell.setActiveControl(this, SWT.MouseDown);
return event.doit;
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
index 6582d65fbf..444b13e9c3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java
@@ -1535,6 +1535,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;
@@ -1566,7 +1570,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