From 37cc1f0736ccbe0d8ea8d1ce32e63b5eac395408 Mon Sep 17 00:00:00 2001 From: Hermes Date: Sun, 12 Jul 2026 14:11:24 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20defer=20hou.hscript=20via=20QTimer.singl?= =?UTF-8?q?eShot(0)=20=E2=80=94=20avoids=20re-entrancy=20in=20signal=20han?= =?UTF-8?q?dler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- toolbar/hermes_bridge.shelf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/toolbar/hermes_bridge.shelf b/toolbar/hermes_bridge.shelf index b2ad372..c93f503 100644 --- a/toolbar/hermes_bridge.shelf +++ b/toolbar/hermes_bridge.shelf @@ -129,6 +129,11 @@ class HermesBridgeWindow(QtWidgets.QWidget): f"on {self.hostname} (port {self.port}).") def _toggle(self): + # Defer to next event loop cycle — avoids re-entrancy + # issues with hou.hscript in signal handler context + QtCore.QTimer.singleShot(0, self._execute_toggle) + + def _execute_toggle(self): try: if bridge_is_open(self.port): hou.hscript(f"closeport {self.port}")