From 97da0b9183aa0f499d0738d968e680c82ed75135 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 29 Dec 2021 10:15:14 +0100 Subject: [PATCH] Qt5->Qt6: Fix another stack-overflow error for newer Python/Qt. part of CURA-8591 --- cura/API/__init__.py | 5 +++-- cura/CuraApplication.py | 7 ++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/cura/API/__init__.py b/cura/API/__init__.py index 3fca8e9c39..f5ffeb92f0 100644 --- a/cura/API/__init__.py +++ b/cura/API/__init__.py @@ -34,12 +34,13 @@ class CuraAPI(QObject): raise RuntimeError("Tried to create singleton '{class_name}' more than once.".format(class_name = CuraAPI.__name__)) if application is None: raise RuntimeError("Upon first time creation, the application must be set.") - cls.__instance = super(CuraAPI, cls).__new__(cls) + instance = super(CuraAPI, cls).__new__(cls) cls._application = application - return cls.__instance + return instance def __init__(self, application: Optional["CuraApplication"] = None) -> None: super().__init__(parent = CuraAPI._application) + CuraAPI.__instance = self self._account = Account(self._application) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 0539a114e4..fe39c2a992 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -217,7 +217,7 @@ class CuraApplication(QtApplication): self._quality_profile_drop_down_menu_model = None self._custom_quality_profile_drop_down_menu_model = None - self._cura_API = None + self._cura_API = CuraAPI(self) self._physics = None self._volume = None @@ -837,7 +837,7 @@ class CuraApplication(QtApplication): self._setting_visibility_presets_model = SettingVisibilityPresetsModel(self.getPreferences(), parent = self) # Initialize Cura API - self._cura_API = self.getCuraAPI() + self._cura_API.initialize() self.processEvents() self._output_device_manager.start() self._welcome_pages_model.initialize() @@ -1114,9 +1114,6 @@ class CuraApplication(QtApplication): return self._custom_quality_profile_drop_down_menu_model def getCuraAPI(self, *args, **kwargs) -> "CuraAPI": - if not self._cura_API: - self._cura_API = CuraAPI(self) - self._cura_API.initialize() return self._cura_API def registerObjects(self, engine):