diff --git a/src/textual/events.py b/src/textual/events.py index 34f302fe2..d4c1625b2 100644 --- a/src/textual/events.py +++ b/src/textual/events.py @@ -32,10 +32,8 @@ class Callback(Event, bubble=False, verbose=True): self, sender: MessageTarget, callback: Callable[[], Awaitable[None]], - prevent: set[type[Message]] | None = None, ) -> None: self.callback = callback - self.prevent = frozenset(prevent) if prevent else None super().__init__(sender) def __rich_repr__(self) -> rich.repr.Result: diff --git a/src/textual/message_pump.py b/src/textual/message_pump.py index 0db654bc7..31922a8d5 100644 --- a/src/textual/message_pump.py +++ b/src/textual/message_pump.py @@ -631,11 +631,7 @@ class MessagePump(metaclass=MessagePumpMeta): return self.post_message_no_wait(message) async def on_callback(self, event: events.Callback) -> None: - if event.prevent: - with self.prevent(*event.prevent): - await invoke(event.callback) - else: - await invoke(event.callback) + await invoke(event.callback) # TODO: Does dispatch_key belong on message pump? async def dispatch_key(self, event: events.Key) -> bool: diff --git a/src/textual/reactive.py b/src/textual/reactive.py index 81085db77..ae5cf9d6d 100644 --- a/src/textual/reactive.py +++ b/src/textual/reactive.py @@ -235,9 +235,7 @@ class Reactive(Generic[ReactiveType]): # Result is awaitable, so we need to await it within an async context obj.post_message_no_wait( events.Callback( - sender=obj, - callback=partial(await_watcher, watch_result), - prevent=obj._prevent_message_types_stack[-1], + sender=obj, callback=partial(await_watcher, watch_result) ) )