From ba30e0dd66a9df4e5ba3eb287da6b0b9c89e46b3 Mon Sep 17 00:00:00 2001 From: Will McGugan Date: Thu, 23 Feb 2023 15:34:02 +0000 Subject: [PATCH] set prevent --- src/textual/message_pump.py | 4 ++++ src/textual/reactive.py | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/textual/message_pump.py b/src/textual/message_pump.py index 4eafa15fb..89183175a 100644 --- a/src/textual/message_pump.py +++ b/src/textual/message_pump.py @@ -582,6 +582,8 @@ class MessagePump(metaclass=MessagePumpMeta): return False if not self.check_message_enabled(message): return True + if self._prevent_message_types_stack: + message._prevent.update(self._prevent_message_types_stack[-1]) await self._message_queue.put(message) return True @@ -620,6 +622,8 @@ class MessagePump(metaclass=MessagePumpMeta): return False if not self.check_message_enabled(message): return False + if self._prevent_message_types_stack: + message._prevent.update(self._prevent_message_types_stack[-1]) self._message_queue.put_nowait(message) return True diff --git a/src/textual/reactive.py b/src/textual/reactive.py index d074b1d92..a64bdc594 100644 --- a/src/textual/reactive.py +++ b/src/textual/reactive.py @@ -237,9 +237,11 @@ class Reactive(Generic[ReactiveType]): events.Callback( sender=obj, callback=partial(await_watcher, watch_result), - prevent=obj._prevent_message_types_stack[0] - if obj._prevent_message_types_stack - else None, + prevent=( + obj._prevent_message_types_stack[0] + if obj._prevent_message_types_stack + else None + ), ) )