Dialog was immediately being destroyed because a reference to it was not being stored in memory. Added a missingPackageDialog variable to WorkspaceDialog to fix this.

Swapped the loading order of Marketplace extensions so SyncOrchestractor is not fetched by PluginRegistry.getInstance().getPluginObject("Marketplace") in WorkspaceDialog.

CURA-8610
This commit is contained in:
j.delarago 2022-06-08 12:19:36 +02:00
parent 25250a8205
commit d5511a078c
2 changed files with 4 additions and 3 deletions

View file

@ -41,6 +41,7 @@ class Marketplace(Extension, QObject):
self._tab_shown: int = 0
self._restart_needed = False
self.missingPackageDialog = None
def getTabShown(self) -> int:
return self._tab_shown
@ -128,5 +129,5 @@ class Marketplace(Extension, QObject):
:param ignore_warning_callback: A callback that gets executed when the user ignores the pop-up, to show them a
warning.
"""
dialog = InstallMissingPackageDialog(packages_metadata, ignore_warning_callback)
dialog.show()
self.missingPackageDialog = InstallMissingPackageDialog(packages_metadata, ignore_warning_callback)
self.missingPackageDialog.show()