diff --git a/plugins/Marketplace/PackageList.py b/plugins/Marketplace/PackageList.py index 73393aa9da..1a76d65141 100644 --- a/plugins/Marketplace/PackageList.py +++ b/plugins/Marketplace/PackageList.py @@ -53,13 +53,15 @@ class PackageList(ListModel): def __del__(self) -> None: """ When this object is deleted it will loop through all registered API requests and aborts them """ - self.cleanUpAPIRequest() + try: self.isLoadingChanged.disconnect() self.hasMoreChanged.disconnect() except RuntimeError: pass + self.cleanUpAPIRequest() + def abortRequest(self, request_id: str) -> None: """Aborts a single request""" if request_id in self._ongoing_requests and self._ongoing_requests[request_id]: diff --git a/plugins/Marketplace/PackageModel.py b/plugins/Marketplace/PackageModel.py index c67a971934..307cdce986 100644 --- a/plugins/Marketplace/PackageModel.py +++ b/plugins/Marketplace/PackageModel.py @@ -88,10 +88,7 @@ class PackageModel(QObject): self.setCanUpdate(self._package_manager.checkIfPackageCanUpdate(self._package_id)) def __del__(self): - try: - self._package_manager.packagesWithUpdateChanged.disconnect(self._processUpdatedPackages) - except RuntimeError: - pass + self._package_manager.packagesWithUpdateChanged.disconnect(self._processUpdatedPackages) def __eq__(self, other: object) -> bool: if isinstance(other, PackageModel):