mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Make sure Signal are disconnected when PackageModel is deleted
Contributes to CURA-8587
This commit is contained in:
parent
23d6c2390f
commit
ffa34ab5fe
2 changed files with 10 additions and 1 deletions
|
@ -55,6 +55,8 @@ 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()
|
||||
self.isLoadingChanged.disconnect()
|
||||
self.hasMoreChanged.disconnect()
|
||||
|
||||
def abortRequest(self, request_id: str) -> None:
|
||||
"""Aborts a single request"""
|
||||
|
|
|
@ -79,10 +79,17 @@ class PackageModel(QObject):
|
|||
self._package_manager.packageInstalled.connect(lambda pkg_id: self._packageInstalled(pkg_id))
|
||||
self._package_manager.packageUninstalled.connect(lambda pkg_id: self._packageInstalled(pkg_id))
|
||||
self._package_manager.packageInstallingFailed.connect(lambda pkg_id: self._packageInstalled(pkg_id))
|
||||
self._package_manager.packagesWithUpdateChanged.connect(lambda: self.setCanUpdate(self._package_id in self._package_manager.packagesWithUpdate))
|
||||
self._package_manager.packagesWithUpdateChanged.connect(self._processUpdatedPackages)
|
||||
|
||||
self._is_busy = False
|
||||
|
||||
@pyqtSlot()
|
||||
def _processUpdatedPackages(self):
|
||||
self.setCanUpdate(self._package_id in self._package_manager.packagesWithUpdate)
|
||||
|
||||
def __del__(self):
|
||||
self._package_manager.packagesWithUpdateChanged.disconnect(self._processUpdatedPackages)
|
||||
|
||||
def __eq__(self, other: object) -> bool:
|
||||
if isinstance(other, PackageModel):
|
||||
return other == self
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue