1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-02-03 03:30:06 +00:00

Added ListenerList class and changed some components to use it for their listener dispatching. Sorted out bug in popup menus and win32 mouse wheel.

This commit is contained in:
Julian Storer 2010-03-07 17:45:10 +00:00
parent b974203d0f
commit 2676bb02f2
42 changed files with 1815 additions and 1867 deletions

View file

@ -200,7 +200,7 @@ void Value::addListener (Listener* const listener)
void Value::removeListener (Listener* const listener)
{
listeners.removeValue (listener);
listeners.remove (listener);
if (listeners.size() == 0)
value->valuesWithListeners.removeValue (this);
@ -208,15 +208,9 @@ void Value::removeListener (Listener* const listener)
void Value::callListeners()
{
Value valueCopy (*this); // Use a copy in case this object gets deleted by a callback
for (int i = listeners.size(); --i >= 0;)
{
Listener* const l = listeners[i];
if (l != 0)
l->valueChanged (valueCopy);
}
Value v (*this); // (create a copy in case this gets deleted by a callback)
listeners.call (&Listener::valueChanged, v);
}
END_JUCE_NAMESPACE