< prev index next >

src/java.desktop/share/classes/javax/accessibility/AccessibleContext.java

Print this page

        

@@ -25,10 +25,11 @@
 
 package javax.accessibility;
 
 import sun.awt.AWTAccessor;
 import sun.awt.AppContext;
+import sun.awt.Disposable;
 
 import java.util.Locale;
 import java.beans.JavaBean;
 import java.beans.BeanProperty;
 import java.beans.PropertyChangeListener;

@@ -97,10 +98,15 @@
 
             @Override
             public AppContext getAppContext(AccessibleContext accessibleContext) {
                 return accessibleContext.targetAppContext;
             }
+
+            @Override
+            public void dispose(AccessibleContext accessibleContext) {
+                accessibleContext.dispose();
+            }
         });
     }
 
    /**
     * Constant used to determine when the accessibleName property has

@@ -415,11 +421,17 @@
      * @see #getAccessibleRelationSet
      */
     private AccessibleRelationSet relationSet
         = new AccessibleRelationSet();
 
-    private Object nativeAXResource;
+    private Disposable nativeAXResource;
+
+    void dispose() {
+        if (nativeAXResource != null) {
+            nativeAXResource.dispose();
+        }
+    }
 
     /**
      * Gets the accessibleName property of this object.  The accessibleName
      * property of an object is a localized String that designates the purpose
      * of the object.  For example, the accessibleName property of a label
< prev index next >