diff options
author | Arun Thondapu | 2016-09-12 09:50:02 +0000 |
---|---|---|
committer | Arun Thondapu | 2016-09-12 20:52:54 +0000 |
commit | 5ce0422a4a4f50a469d581316a1bc52014f37235 (patch) | |
tree | b10df40234d74c9438fd6fd94cfb236200b424e7 /bundles/org.eclipse.swt/Eclipse SWT Accessibility | |
parent | cfd9b54ba892a39db251fb90c2fb603b44e4cfd2 (diff) | |
download | eclipse.platform.swt-5ce0422a4a4f50a469d581316a1bc52014f37235.tar.gz eclipse.platform.swt-5ce0422a4a4f50a469d581316a1bc52014f37235.tar.xz eclipse.platform.swt-5ce0422a4a4f50a469d581316a1bc52014f37235.zip |
Bug 447930 - Accessibility: IA2 object not instantiated until IA2
interfaces are implemented
New patch which reverts the previous changes and implements the new
solution proposed in bug 447930 comment 19
Change-Id: Iaa0dea59681763a0db77ea793bbb49642d913558
Signed-off-by: Arun Thondapu <arunkumar.thondapu@in.ibm.com>
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Accessibility')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT Accessibility/win32/org/eclipse/swt/accessibility/Accessible.java | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/win32/org/eclipse/swt/accessibility/Accessible.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/win32/org/eclipse/swt/accessibility/Accessible.java index c7b06608c0..07b086e2a5 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/win32/org/eclipse/swt/accessibility/Accessible.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/win32/org/eclipse/swt/accessibility/Accessible.java @@ -1830,8 +1830,8 @@ public class Accessible { if (accessibleActionListenersSize() > 0 || accessibleAttributeListenersSize() > 0 || accessibleHyperlinkListenersSize() > 0 || accessibleTableListenersSize() > 0 || accessibleTableCellListenersSize() > 0 || accessibleTextExtendedListenersSize() > 0 || - accessibleValueListenersSize() > 0 || getRelationCount() > 0 - || (control instanceof Button && ((control.getStyle() & SWT.RADIO) != 0))) { + accessibleValueListenersSize() > 0 || accessibleControlListenersSize() > 0 || getRelationCount() > 0 + || (control instanceof Button && ((control.getStyle() & SWT.RADIO) != 0)) || (control instanceof Composite)) { if (objIServiceProvider == null) createIServiceProvider(); COM.MoveMemory(ppvObject, new long /*int*/[] { objIServiceProvider.getAddress() }, OS.PTR_SIZEOF); AddRef(); @@ -1842,10 +1842,6 @@ public class Accessible { return COM.E_NOINTERFACE; } - /* Workaround for bug 447930 - add a temporary relation so that the IA2 object is created */ - if (getRelationCount() == 0 && parent != null) { - addRelation(ACC.RELATION_NODE_CHILD_OF, parent); - } int code = queryAccessible2Interfaces(guid, ppvObject); if (code != COM.S_FALSE) { if (DEBUG) print(this + ".QueryInterface guid=" + guidString(guid) + " returning" + hresult(code)); @@ -2004,10 +2000,6 @@ public class Accessible { AddRef(); return COM.S_OK; } - /* Workaround for bug 447930 - add a temporary relation so that the IA2 object is created */ - if (getRelationCount() == 0 && parent != null) { - addRelation(ACC.RELATION_NODE_CHILD_OF, parent); - } int code = queryAccessible2Interfaces(guid, ppvObject); if (code != COM.S_FALSE) { if (DEBUG) print(this + ".QueryService service=" + guidString(service) + " guid=" + guidString(guid) + " returning" + hresult(code)); @@ -2016,10 +2008,6 @@ public class Accessible { } if (COM.IsEqualGUID(service, COM.IIDIAccessible2)) { - /* Workaround for bug 447930 - add a temporary relation so that the IA2 object is created */ - if (getRelationCount() == 0 && parent != null) { - addRelation(ACC.RELATION_NODE_CHILD_OF, parent); - } int code = queryAccessible2Interfaces(guid, ppvObject); if (code != COM.S_FALSE) { if (DEBUG) print(this + ".*QueryService service=" + guidString(service) + " guid=" + guidString(guid) + " returning" + hresult(code)); @@ -2051,8 +2039,8 @@ public class Accessible { if (accessibleActionListenersSize() > 0 || accessibleAttributeListenersSize() > 0 || accessibleHyperlinkListenersSize() > 0 || accessibleTableListenersSize() > 0 || accessibleTableCellListenersSize() > 0 || accessibleTextExtendedListenersSize() > 0 || - accessibleValueListenersSize() > 0 || getRelationCount() > 0 - || (control instanceof Button && ((control.getStyle() & SWT.RADIO) != 0))) { + accessibleValueListenersSize() > 0 || accessibleControlListenersSize() > 0 || getRelationCount() > 0 + || (control instanceof Button && ((control.getStyle() & SWT.RADIO) != 0)) || (control instanceof Composite)) { if (objIAccessible2 == null) createIAccessible2(); COM.MoveMemory(ppvObject, new long /*int*/[] { objIAccessible2.getAddress() }, OS.PTR_SIZEOF); AddRef(); |