From c08353dea7ed9cf9bff8c0b78854da14d3e91407 Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 4 Aug 2023 13:26:52 +0200 Subject: [PATCH] showbase: Don't disable Windows mesasge loop with multi-threaded pipeline Fixes half of #1494 --- direct/src/showbase/ShowBase.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index 8e39f7b6ab..7db064fbea 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -3219,8 +3219,9 @@ class ShowBase(DirectObject.DirectObject): init_app_for_gui() # Disable the Windows message loop, since Tcl wants to handle this all - # on its own. - ConfigVariableBool('disable-message-loop', False).value = True + # on its own, except if the Panda window is on a separate thread. + if self.graphicsEngine.getThreadingModel().getDrawStage() == 0: + ConfigVariableBool('disable-message-loop', False).value = True if ConfigVariableBool('tk-main-loop', True): # Put Tkinter in charge of the main loop. It really