summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2010-03-08 17:28:40 +0000
committerSilenio Quarti <silenio>2010-03-08 17:28:40 +0000
commitaef40797195cb5e2b3bf6818f1b0fa0d190030aa (patch)
treec8321d64b03e5e28ba63988f24229b6554c310e7 /bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
parentf9528eaf04b9a7bbff7eef46517a4a22f774b385 (diff)
downloadeclipse.platform.swt-aef40797195cb5e2b3bf6818f1b0fa0d190030aa.tar.gz
eclipse.platform.swt-aef40797195cb5e2b3bf6818f1b0fa0d190030aa.tar.xz
eclipse.platform.swt-aef40797195cb5e2b3bf6818f1b0fa0d190030aa.zip
fix getSelection() TODO
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
index e86a03849e..77e15172bd 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
@@ -2068,6 +2068,7 @@ class AccessibleObject {
AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
listener.getText(event);
}
+ if (parentResult != 0) OS.g_free(parentResult);
return getStringPtr (event.result);
}
if (selection_num == 0) {
@@ -2084,7 +2085,11 @@ class AccessibleObject {
}
OS.memmove (start_offset, new int[] {event.offset}, 4);
OS.memmove (end_offset, new int[] {event.offset + event.length}, 4);
- //TODO return the selected text, should we free parent result
+ if (parentResult != 0) OS.g_free(parentResult);
+ String text = object.getText();
+ if (text != null && text.length () > event.offset && text.length() >= event.offset + event.length) {
+ return getStringPtr (text.substring(event.offset, event.offset + event.length));
+ }
return 0;
}
}
@@ -2784,7 +2789,7 @@ class AccessibleObject {
}
return event.result;
}
- return null;
+ return parentText;
}
static int /*long*/ gObjectClass_finalize (int /*long*/ atkObject) {