From c7499d6e1714a983c1a2072981af6176c76e40f5 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 22 Feb 2018 15:52:02 +0100 Subject: [PATCH] CURA-4606 CURA-5003 fix saving material metadata when switching material; fix crashing on fallback material on materials without fallback --- cura/Machines/MaterialManager.py | 3 ++- resources/qml/Preferences/MaterialsPage.qml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 54216972a4..ae679a5ee6 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -314,7 +314,8 @@ class MaterialManager(QObject): def getFallbackMaterialId(self, material_type: str) -> str: # For safety if material_type not in self._fallback_materials_map: - raise RuntimeError("Material type [%s] is not in the fallback materials table." % material_type) + Logger.log("w", "The material type [%s] does not have a fallback material" % material_type) + return None fallback_material = self._fallback_materials_map[material_type] if fallback_material: return self.getRootMaterialIDWithoutDiameter(fallback_material["id"]) diff --git a/resources/qml/Preferences/MaterialsPage.qml b/resources/qml/Preferences/MaterialsPage.qml index 22d906ac62..de7b629f48 100644 --- a/resources/qml/Preferences/MaterialsPage.qml +++ b/resources/qml/Preferences/MaterialsPage.qml @@ -350,6 +350,7 @@ Item onCurrentIndexChanged: { + forceActiveFocus(); // causes the changed fields to be saved var model = materialsModel.getItem(currentIndex); materialDetailsView.containerId = model.container_id; materialDetailsView.currentMaterialNode = model.container_node;