changeset 113:5a082a5e1a5b

Fix: exceptions on AA access
author Frank Benoit <benoit@tionex.de>
date Fri, 08 Aug 2008 11:22:58 +0200
parents 9cb927d16b0a
children efda8ce1120b
files dwtx/dwtxhelper/Bean.d
diffstat 1 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/dwtx/dwtxhelper/Bean.d	Fri Aug 08 00:21:19 2008 +0200
+++ b/dwtx/dwtxhelper/Bean.d	Fri Aug 08 11:22:58 2008 +0200
@@ -39,7 +39,6 @@
     void   propertyChange(PropertyChangeEvent evt);
 }
 
-
 class PropertyChangeSupport {
     PropertyChangeListener[][ String ] listeners;
     Object obj;
@@ -50,7 +49,10 @@
         addPropertyChangeListener( "", listener );
     }
     void addPropertyChangeListener(String propertyName, PropertyChangeListener listener){
-        PropertyChangeListener[] list = listeners[ propertyName ];
+        PropertyChangeListener[] list;
+        if( auto l = propertyName in listeners ){
+            list = *l;
+        }
         list ~= listener;
         listeners[ propertyName.dup ] = list;
     }
@@ -61,7 +63,10 @@
         firePropertyChange( propertyName, new Integer(oldValue), new Integer(newValue) );
     }
     void firePropertyChange(String propertyName, Object oldValue, Object newValue){
-        PropertyChangeListener[] list = listeners[ propertyName ];
+        PropertyChangeListener[] list;
+        if( auto l = propertyName in listeners ){
+            list = *l;
+        }
         auto evt = new PropertyChangeEvent( obj, propertyName, oldValue, newValue );
         foreach( listener; list ){
             if( listener ){