Register container tree to be built once all metadata is in

So if we ever change the order of initialisation this stays working.

Contributes to issue CURA-6600.
This commit is contained in:
Ghostkeeper 2019-08-09 13:40:11 +02:00
parent d710a58233
commit bd714f947a
No known key found for this signature in database
GPG Key ID: 86BEF881AE2CF276
2 changed files with 4 additions and 3 deletions

View File

@ -511,6 +511,8 @@ class CuraApplication(QtApplication):
self.showSplashMessage(self._i18n_catalog.i18nc("@info:progress", "Loading machines..."))
self._container_registry.allMetadataLoaded.connect(ContainerRegistry.getInstance)
with self._container_registry.lockFile():
self._container_registry.loadAllMetadata()
@ -732,9 +734,6 @@ class CuraApplication(QtApplication):
def run(self):
super().run()
Logger.log("i", "Building container tree.")
ContainerTree.getInstance()
Logger.log("i", "Initializing machine manager")
self._machine_manager = MachineManager(self, parent = self)

View File

@ -1,6 +1,7 @@
# Copyright (c) 2019 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from UM.Logger import Logger
from UM.Settings.ContainerRegistry import ContainerRegistry # To listen to containers being added.
from UM.Settings.DefinitionContainer import DefinitionContainer
from UM.Settings.Interfaces import ContainerInterface
@ -30,6 +31,7 @@ class ContainerTree:
## Builds the initial container tree.
def _loadAll(self):
Logger.log("i", "Building container tree.")
all_stacks = ContainerRegistry.getInstance().findContainerStacks()
for stack in all_stacks:
definition_id = stack.definition.getId()