From 0377b2e75fd3b63e4247ca633da41ec362fe3e88 Mon Sep 17 00:00:00 2001
From: Sebastian Krzyszkowiak <dos@dosowisko.net>
Date: Sun, 1 Oct 2023 10:35:22 +0200
Subject: [PATCH] py,st3m: ViewManager: Only draw outgoing view at transition
 start

Solves a potential issue with .draw being called before the first
.think on the incoming view.
---
 python_payload/st3m/ui/view.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/python_payload/st3m/ui/view.py b/python_payload/st3m/ui/view.py
index eb042b6790..465a4de163 100644
--- a/python_payload/st3m/ui/view.py
+++ b/python_payload/st3m/ui/view.py
@@ -260,6 +260,12 @@ class ViewManager(Responder):
 
     def draw(self, ctx: Context) -> None:
         if self._transitioning:
+            if self._transition == 0.0:
+                ctx.save()
+                self._outgoing.draw(ctx)
+                ctx.restore()
+                return
+
             if self._transition >= 1.0:
                 self._fully_drawn += 1
 
@@ -292,7 +298,6 @@ class ViewManager(Responder):
         self._pending = r
         self._pending_vt = override_vt
         self._pending_direction = direction
-        self._end_transition()
 
     def push(self, r: View, override_vt: Optional[ViewTransition] = None) -> None:
         """
-- 
GitLab