From c29d38361b754d1acbbf4391b5b333a0b5ef2edd Mon Sep 17 00:00:00 2001 From: Cherubim Date: Sun, 23 Sep 2018 00:27:50 +0200 Subject: [PATCH] Fix initial start-up when providing model parameter If you're adding a model file as command line argument to Cura, it should auto-load this file upon start-up. However when adding this command line argument upon first launch of Cura, there is no printer yet so Cura would crash because it tries to load a model before there is a build volume. This prevents that crash and instead doesn't load the model at all. --- cura/CuraApplication.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index dbaef4df34..65e95f1c11 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1580,6 +1580,11 @@ class CuraApplication(QtApplication): job.start() def _readMeshFinished(self, job): + global_container_stack = self.getGlobalContainerStack() + if not global_container_stack: + Logger.log("w", "Can't load meshes before a printer is added.") + return + nodes = job.getResult() file_name = job.getFileName() file_name_lower = file_name.lower() @@ -1594,7 +1599,6 @@ class CuraApplication(QtApplication): for node_ in DepthFirstIterator(root): if node_.callDecoration("isSliceable") and node_.callDecoration("getBuildPlateNumber") == target_build_plate: fixed_nodes.append(node_) - global_container_stack = self.getGlobalContainerStack() machine_width = global_container_stack.getProperty("machine_width", "value") machine_depth = global_container_stack.getProperty("machine_depth", "value") arranger = Arrange.create(x = machine_width, y = machine_depth, fixed_nodes = fixed_nodes)