Fix variant handling in VariantNode

CURA-6863
This commit is contained in:
Lipu Fei 2019-10-14 14:15:03 +02:00
parent dd8f6dc10e
commit cc64fb0a93

View File

@ -6,9 +6,13 @@ from UM.Logger import Logger
from UM.Settings.ContainerRegistry import ContainerRegistry
from UM.Settings.Interfaces import ContainerInterface
from UM.Signal import Signal
from cura.Settings.cura_empty_instance_containers import empty_variant_container
from cura.Machines.ContainerNode import ContainerNode
from cura.Machines.MaterialNode import MaterialNode
import UM.FlameProfiler
if TYPE_CHECKING:
from typing import Dict
from cura.Machines.MachineNode import MachineNode
@ -110,8 +114,8 @@ class VariantNode(ContainerNode):
if base_file not in self.materials: # Completely new base file. Always better than not having a file as long as it matches our set-up.
if material_definition != "fdmprinter" and material_definition != self.machine.container_id:
return
material_variant = container.getMetaDataEntry("variant_name")
if material_variant is not None and material_variant != self.variant_name:
material_variant = container.getMetaDataEntry("variant_name", empty_variant_container.getName())
if material_variant != self.variant_name:
return
else: # We already have this base profile. Replace the base profile if the new one is more specific.
new_definition = container.getMetaDataEntry("definition")