For discard changed window retrieve data from setting "value" property instead of "resolve"

CURA-4358
This commit is contained in:
alekseisasin 2017-09-27 11:27:29 +02:00
parent 052b4b0b11
commit a2e0f4d64f
2 changed files with 8 additions and 5 deletions

View File

@ -89,10 +89,11 @@ class GlobalStack(CuraContainerStack):
#
# \param key The setting key to get the property of.
# \param property_name The property to get the value of.
# \param skip_container The container ID to skip.
#
# \return The value of the property for the specified setting, or None if not found.
@override(ContainerStack)
def getProperty(self, key: str, property_name: str, context: Optional[PropertyEvaluationContext] = None) -> Any:
def getProperty(self, key: str, property_name: str, context: Optional[PropertyEvaluationContext] = None, skip_container: str = None) -> Any:
if not self.definition.findDefinitions(key = key):
return None
@ -121,7 +122,7 @@ class GlobalStack(CuraContainerStack):
else:
Logger.log("e", "Setting {setting} has limit_to_extruder but is not settable per extruder!", setting = key)
result = super().getProperty(key, property_name, context)
result = super().getProperty(key, property_name, context, skip_container)
context.popContainer()
return result

View File

@ -90,9 +90,11 @@ class UserChangesModel(ListModel):
for container in containers:
if stack == global_stack:
resolve = global_stack.getProperty(setting_key, "resolve")
if resolve is not None:
original_value = resolve
#Find default value without checking user changed settings.
default_value = global_stack.getProperty(setting_key, "value", skip_container = user_changes.getId())
if default_value is not None:
original_value = default_value
break
original_value = container.getProperty(setting_key, "value")