From deb46650c143ed86a315a6a945ef9f2032d69b8e Mon Sep 17 00:00:00 2001
From: Sebastian Krzyszkowiak <dos@dosowisko.net>
Date: Sun, 12 Nov 2023 21:35:44 +0100
Subject: [PATCH] sim: fakes: Allow to use leds.update from separate thread

---
 sim/fakes/_sim.py | 2 ++
 sim/fakes/leds.py | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/sim/fakes/_sim.py b/sim/fakes/_sim.py
index b9ec85d89e..82678dd6f4 100644
--- a/sim/fakes/_sim.py
+++ b/sim/fakes/_sim.py
@@ -83,6 +83,8 @@ class Input:
         if ev.type == pygame.QUIT:
             pygame.quit()
             sys.exit()
+        if ev.type == pygame.USEREVENT:
+            _sim.render_gui_lazy()
 
         if prev_hover != self._mouse_hover:
             return True
diff --git a/sim/fakes/leds.py b/sim/fakes/leds.py
index aaf7e710c3..aadca2394f 100644
--- a/sim/fakes/leds.py
+++ b/sim/fakes/leds.py
@@ -43,7 +43,7 @@ def set_slew_rate(b: int):
 
 def update():
     _sim.leds_update()
-    _sim.render_gui_lazy()
+    pygame.event.post(pygame.event.Event(pygame.USEREVENT, {}))
 
 
 def set_auto_update(b: int):
-- 
GitLab