[orca] Event manager: prune events from dead objects during flood



commit 294b14146f5a0504a65b49db814a64a82f20b369
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Thu Apr 21 12:27:50 2022 +0200

    Event manager: prune events from dead objects during flood

 src/orca/event_manager.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
---
diff --git a/src/orca/event_manager.py b/src/orca/event_manager.py
index d47a33623..81f756e8f 100644
--- a/src/orca/event_manager.py
+++ b/src/orca/event_manager.py
@@ -785,9 +785,22 @@ class EventManager:
 
         return False, "No reason found to activate a different script."
 
+    def _eventSourceIsDead(self, event):
+        try:
+            name = event.source.name
+        except:
+            msg = "EVENT MANAGER: source of %s is dead" % event.type
+            debug.println(debug.LEVEL_INFO, msg, True)
+            return True
+
+        return False
+
     def _ignoreDuringDeluge(self, event):
         """Returns true if this event should be ignored during a deluge."""
 
+        if self._eventSourceIsDead(event):
+            return True
+
         ignore = ["object:text-changed:delete",
                   "object:text-changed:insert",
                   "object:text-changed:delete:system",
@@ -817,6 +830,9 @@ class EventManager:
     def _processDuringFlood(self, event):
         """Returns true if this event should be processed during a flood."""
 
+        if self._eventSourceIsDead(event):
+            return False
+
         ignore = ["object:text-changed:delete",
                   "object:text-changed:insert",
                   "object:text-changed:delete:system",


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