Fixed crashes with specific configuration of draft shield:

the crashing cases were:
- skirts=0 + dsEnabled
- skirt_height=0 + dsLimited

Also, when ooze_prevention is enabled with multiple extruders and skirt is disabled, 2.4.0 does not generate infinite skirt.
Version 2.3.3 does, ooze prevention overrides the disabled skirt. This commit reinstates the old behaviour.

The issues were introduced in b466f18.
This commit is contained in:
Lukas Matena 2022-01-06 11:11:54 +01:00
parent 6fed5c29a1
commit d2664ea295

View File

@ -349,7 +349,9 @@ bool Print::has_infinite_skirt() const
bool Print::has_skirt() const bool Print::has_skirt() const
{ {
return (m_config.skirt_height > 0 && m_config.skirts > 0) || m_config.draft_shield != dsDisabled; return (m_config.skirt_height > 0 && m_config.skirts > 0) || has_infinite_skirt();
// case dsLimited should only be taken into account when skirt_height and skirts are positive,
// so it is covered by the first condition.
} }
bool Print::has_brim() const bool Print::has_brim() const