diff options
Diffstat (limited to 'xmpp-vala/src/module/util.vala')
-rw-r--r-- | xmpp-vala/src/module/util.vala | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/xmpp-vala/src/module/util.vala b/xmpp-vala/src/module/util.vala index cb11418c..28f1a5f8 100644 --- a/xmpp-vala/src/module/util.vala +++ b/xmpp-vala/src/module/util.vala @@ -19,7 +19,7 @@ public abstract class StanzaListener<T> : OrderedListener { public class StanzaListenerHolder<T> : ListenerHolder { - public async void run(XmppStream stream, T stanza) { + public async bool run(XmppStream stream, T stanza) { // listeners can change e.g. when switching to another stream ArrayList<OrderedListener> listeners_copy = new ArrayList<OrderedListener>(); @@ -28,8 +28,9 @@ public class StanzaListenerHolder<T> : ListenerHolder { foreach (OrderedListener ol in listeners_copy) { StanzaListener<T> l = ol as StanzaListener<T>; bool stop = yield l.run(stream, stanza); - if (stop) break; + if (stop) return true; } + return false; } } |