Skip to content

Commit 12f3cc6

Browse files
committed
catch bad screen on timer
1 parent a0d4587 commit 12f3cc6

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/textual/demo/demo_app.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ class DemoApp(App):
6565
]
6666

6767
def action_maximize(self) -> None:
68+
if self.screen.is_maximized:
69+
return
6870
if self.screen.focused is None:
6971
self.notify(
7072
"Nothing to be maximized (try pressing [b]tab[/b])",

src/textual/message_pump.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -836,6 +836,13 @@ def post_message(self, message: Message) -> bool:
836836
async def on_callback(self, event: events.Callback) -> None:
837837
if self.app._closing:
838838
return
839+
try:
840+
self.app.screen
841+
except Exception:
842+
self.log.warning(
843+
f"Not invoking timer callback {event.callback!r} because there is no screen."
844+
)
845+
return
839846
await invoke(event.callback)
840847

841848
async def on_timer(self, event: events.Timer) -> None:

0 commit comments

Comments
 (0)