Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArun Thondapu2016-09-12 09:50:02 +0000
committerArun Thondapu2016-09-12 20:52:54 +0000
commit5ce0422a4a4f50a469d581316a1bc52014f37235 (patch)
treeb10df40234d74c9438fd6fd94cfb236200b424e7 /bundles/org.eclipse.swt/Eclipse SWT Accessibility
parentcfd9b54ba892a39db251fb90c2fb603b44e4cfd2 (diff)
downloadeclipse.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.java20
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();

Back to the top