summaryrefslogtreecommitdiff
path: root/accessibility
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2005-03-29 11:50:39 +0000
committerRüdiger Timm <rt@openoffice.org>2005-03-29 11:50:39 +0000
commitfce5a97da61d8f710e1e3a1cdd6b01796b5f6a11 (patch)
treea7de482fe7a9640b2ac3040c5358422836fb0810 /accessibility
parentad3c126213d5ca83b02b60dfe3b4c455dd628382 (diff)
INTEGRATION: CWS vcl37 (1.8.8); FILE MERGED
2005/03/04 15:30:42 obr 1.8.8.1: #i20314# don't return AccessibleText when disposed
Diffstat (limited to 'accessibility')
-rw-r--r--accessibility/bridge/org/openoffice/java/accessibility/Container.java91
1 files changed, 49 insertions, 42 deletions
diff --git a/accessibility/bridge/org/openoffice/java/accessibility/Container.java b/accessibility/bridge/org/openoffice/java/accessibility/Container.java
index 0cee018bea81..3e8d37530517 100644
--- a/accessibility/bridge/org/openoffice/java/accessibility/Container.java
+++ b/accessibility/bridge/org/openoffice/java/accessibility/Container.java
@@ -339,49 +339,52 @@ public class Container extends java.awt.Container implements javax.accessibility
/** Called by OpenOffice process to notify property changes */
public void notifyEvent(AccessibleEventObject event) {
- switch (event.EventId) {
- case AccessibleEventId.NAME_CHANGED:
- // Set the accessible name for the corresponding context, which will fire a property
- // change event itself
- handleNameChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.DESCRIPTION_CHANGED:
- // Set the accessible description for the corresponding context, which will fire a property
- // change event itself - so do not set propertyName !
- handleDescriptionChangedEvent(event.NewValue);
- break;
- case AccessibleEventId.STATE_CHANGED:
- // Update the internal state set and fire the appropriate PropertyChangedEvent
- handleStateChangedEvent(event.OldValue, event.NewValue);
- break;
- case AccessibleEventId.TEXT_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_TEXT_PROPERTY,
- AccessibleTextImpl.convertTextSegment(event.OldValue),
- AccessibleTextImpl.convertTextSegment(event.NewValue));
- break;
- case AccessibleEventId.CHILD:
- if (AnyConverter.isObject(event.OldValue)) {
- AccessibleObjectFactory.removeChild(Container.this, event.OldValue);
- } else if (AnyConverter.isObject(event.NewValue)) {
- AccessibleObjectFactory.addChild(Container.this, event.NewValue);
- }
- break;
- case AccessibleEventId.VISIBLE_DATA_CHANGED:
- case AccessibleEventId.BOUNDRECT_CHANGED:
- firePropertyChange(AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY, null, null);
- break;
- case AccessibleEventId.SELECTION_CHANGED:
- firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY, null, null);
- break;
- case AccessibleEventId.INVALIDATE_ALL_CHILDREN:
- handleAllChildrenChangedEvent();
- break;
- default:
- // Warn about unhandled events
- if(Build.DEBUG) {
- System.out.println(this + ": unhandled accessibility event id=" + event.EventId);
- }
+ if ( !disposed ) {
+
+ switch (event.EventId) {
+ case AccessibleEventId.NAME_CHANGED:
+ // Set the accessible name for the corresponding context, which will fire a property
+ // change event itself
+ handleNameChangedEvent(event.NewValue);
+ break;
+ case AccessibleEventId.DESCRIPTION_CHANGED:
+ // Set the accessible description for the corresponding context, which will fire a property
+ // change event itself - so do not set propertyName !
+ handleDescriptionChangedEvent(event.NewValue);
+ break;
+ case AccessibleEventId.STATE_CHANGED:
+ // Update the internal state set and fire the appropriate PropertyChangedEvent
+ handleStateChangedEvent(event.OldValue, event.NewValue);
+ break;
+ case AccessibleEventId.TEXT_CHANGED:
+ firePropertyChange(AccessibleContext.ACCESSIBLE_TEXT_PROPERTY,
+ AccessibleTextImpl.convertTextSegment(event.OldValue),
+ AccessibleTextImpl.convertTextSegment(event.NewValue));
+ break;
+ case AccessibleEventId.CHILD:
+ if (AnyConverter.isObject(event.OldValue)) {
+ AccessibleObjectFactory.removeChild(Container.this, event.OldValue);
+ } else if (AnyConverter.isObject(event.NewValue)) {
+ AccessibleObjectFactory.addChild(Container.this, event.NewValue);
+ }
+ break;
+ case AccessibleEventId.VISIBLE_DATA_CHANGED:
+ case AccessibleEventId.BOUNDRECT_CHANGED:
+ firePropertyChange(AccessibleContext.ACCESSIBLE_VISIBLE_DATA_PROPERTY, null, null);
+ break;
+ case AccessibleEventId.SELECTION_CHANGED:
+ firePropertyChange(javax.accessibility.AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY, null, null);
+ break;
+ case AccessibleEventId.INVALIDATE_ALL_CHILDREN:
+ handleAllChildrenChangedEvent();
+ break;
+ default:
+ // Warn about unhandled events
+ if(Build.DEBUG) {
+ System.out.println(this + ": unhandled accessibility event id=" + event.EventId);
+ }
+ }
}
}
@@ -566,6 +569,10 @@ public class Container extends java.awt.Container implements javax.accessibility
/** Gets the AccessibleText associated with this object presenting text on the display */
public javax.accessibility.AccessibleText getAccessibleText() {
+
+ if (disposed)
+ return null;
+
return accessibleText;
}