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):