Mercurial > projects > dwt-addons
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 ){