# HG changeset patch # User Frank Benoit # Date 1218187378 -7200 # Node ID 5a082a5e1a5b7c45884dd0c3cd81e1078a112528 # Parent 9cb927d16b0ad1814f19e1e2ce88d6b63b9e9e2e Fix: exceptions on AA access diff -r 9cb927d16b0a -r 5a082a5e1a5b dwtx/dwtxhelper/Bean.d --- 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 ){