mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-24 07:03:56 -06:00
Force extruder position to stick during retrieval of property.
Otherwise other parts of the stack(s) could have another value for limit-to-extruder, depending on if the user updates the chosen extruder (for example for support) quickly enough that we're in the middle of the operation. (Locking would probably more complicated, since we not only need a recurrent lock, but a lock on a few but not all classes based on a method call....) CURA-12223
This commit is contained in:
parent
d59e65fb1d
commit
f4980450f2
1 changed files with 6 additions and 5 deletions
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2018 Ultimaker B.V.
|
||||
# Copyright (c) 2024 UltiMaker
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
from typing import Any, Dict, TYPE_CHECKING, Optional
|
||||
|
@ -12,11 +12,8 @@ from UM.Settings.ContainerRegistry import ContainerRegistry
|
|||
from UM.Settings.Interfaces import ContainerInterface, PropertyEvaluationContext
|
||||
from UM.Util import parseBool
|
||||
|
||||
import cura.CuraApplication
|
||||
|
||||
from . import Exceptions
|
||||
from .CuraContainerStack import CuraContainerStack, _ContainerIndexes
|
||||
from .ExtruderManager import ExtruderManager
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from cura.Settings.GlobalStack import GlobalStack
|
||||
|
@ -141,7 +138,11 @@ class ExtruderStack(CuraContainerStack):
|
|||
context.popContainer()
|
||||
return result
|
||||
|
||||
limit_to_extruder = super().getProperty(key, "limit_to_extruder", context)
|
||||
if not context:
|
||||
context = PropertyEvaluationContext(self)
|
||||
if "extruder_position" not in context.context:
|
||||
context.context["extruder_position"] = super().getProperty(key, "limit_to_extruder", context)
|
||||
limit_to_extruder = context.context["extruder_position"]
|
||||
if limit_to_extruder is not None:
|
||||
limit_to_extruder = str(limit_to_extruder)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue