If you add a property change listener using WeakListeners.propertyChange, you cannot use addPropertyChangeListener(String,PropertyChangeListener) since WeakListenerImpl.PropertyChange will call removePropertyChangeListener(PropertyChangeListener) and PropertyChangeSupport will not find the listener. There should be a variant method WeakListeners.propertyChange(PropertyChangeListener,Object,String) which lets you specify the property name you are adding the listener under.
I'm missing this as well.
Created attachment 149913 [details]
The proposed API change, test included.
Please review the proposed API change.
Thanks for the review, I'm going to push the change tomorrow.
The change was adapted to reflect the changes introduced by the merge of server_split branch and pushed:
Integrated into 'main-silver', will be available in build *201410290913* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Log: #188604: Weak property and vetoable listeners for a specific property name.