From 6851757dfd6337d1bb410e81c5e888cdc327aca4 Mon Sep 17 00:00:00 2001 From: Talley Lambert Date: Sun, 5 Nov 2023 18:01:14 -0500 Subject: [PATCH] fix: fix runtime error on submenu cleanup --- src/app_model/backends/qt/_qmenu.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/app_model/backends/qt/_qmenu.py b/src/app_model/backends/qt/_qmenu.py index 9e253e7b..98db3f96 100644 --- a/src/app_model/backends/qt/_qmenu.py +++ b/src/app_model/backends/qt/_qmenu.py @@ -1,5 +1,6 @@ from __future__ import annotations +import contextlib from typing import ( TYPE_CHECKING, Collection, @@ -120,7 +121,10 @@ def _disconnect(self) -> None: def _on_registry_changed(self, changed_ids: Set[str]) -> None: if self._menu_id in changed_ids: - self.rebuild() + # if this (sub)menu has been removed from the registry, + # we may hit a RuntimeError when trying to rebuild it. + with contextlib.suppress(RuntimeError): + self.rebuild() class QModelSubmenu(QModelMenu):