Properly resolve events

This commit is contained in:
Lonami Exo
2018-08-21 12:18:12 +02:00
parent 47190d7d55
commit d3a6822fc9
4 changed files with 36 additions and 14 deletions
+3 -5
View File
@@ -89,7 +89,7 @@ class UpdateMethods(UserMethods):
elif not event:
event = events.Raw()
self._loop.create_task(event.resolve(self))
event.ensure_resolve(self)
self._event_builders.append((event, callback))
def remove_event_handler(self, callback, event=None):
@@ -266,10 +266,8 @@ class UpdateMethods(UserMethods):
if not event:
continue
# TODO Lock until it's resolved; the task for resolving
# was already created when adding the event handler.
if not builder.resolved:
await builder.resolve()
if not builder.resolved.is_set():
await builder.resolved.wait()
if not builder.filter(event):
continue