commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r9168 - trunk/gnue-common/src/events


From: johannes
Subject: [gnue] r9168 - trunk/gnue-common/src/events
Date: Fri, 15 Dec 2006 04:18:40 -0600 (CST)

Author: johannes
Date: 2006-12-15 04:18:39 -0600 (Fri, 15 Dec 2006)
New Revision: 9168

Modified:
   trunk/gnue-common/src/events/EventController.py
Log:
Really stop handler execution if an event has been dropped.
This fixes the focus-change when pressing Enter in a multiline entry



Modified: trunk/gnue-common/src/events/EventController.py
===================================================================
--- trunk/gnue-common/src/events/EventController.py     2006-12-15 08:06:48 UTC 
(rev 9167)
+++ trunk/gnue-common/src/events/EventController.py     2006-12-15 10:18:39 UTC 
(rev 9168)
@@ -146,12 +146,15 @@
         if not isinstance(event, Event):
             event = Event(event, *args, **kwargs)
 
+        methods = []
         for key in ('__before__', event.__event__, '__after__'):
-            for handler in registered_events.get(key, ()):
-                handler(event)
-                if event.__error__ or event.__dropped__:
-                    break
+            methods.extend(registered_events.get(key, []))
 
+        for handler in methods:
+            handler(event)
+            if event.__error__ or event.__dropped__:
+                break
+
         if event.__after__:
             for args, kwargs in event.__after__:
                 self.dispatch_event(*args, **kwargs)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]