Benjamin Greiner
2ca808d67e
* This release introduces multiple beds, scarf seams, Printables integration, improved support for multiple nozzle diameters, paint-on fuzzy skin and many more improvements and bugfixes. * See https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.9.0 - Added PrusaSlicer-2.9.0-pr13896-static-libs.patch gh#prusa3d/PrusaSlicer#13896 - Added PrusaSlicer-2.9.0-pr13885-printconfig-segfault.patch gh#prusa3d/PrusaSlicer#13885 - Removed PrusaSlicer-2.8.1-pr13609-fix-build.patch OBS-URL: https://build.opensuse.org/package/show/science/PrusaSlicer?expand=0&rev=91
31 lines
1.3 KiB
Diff
31 lines
1.3 KiB
Diff
From aaa7ab6ca2b593a4f20a08292a6fb44339029474 Mon Sep 17 00:00:00 2001
|
|
From: Ryan Heule <rmheule@yahoo.com>
|
|
Date: Wed, 1 Jan 2025 16:36:04 -0600
|
|
Subject: [PATCH] Avoid null pointer dereference for partial configuration
|
|
settings
|
|
|
|
---
|
|
src/libslic3r/PrintConfig.cpp | 9 ++++++++-
|
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp
|
|
index 907fdfb02a..efa9be9760 100644
|
|
--- a/src/libslic3r/PrintConfig.cpp
|
|
+++ b/src/libslic3r/PrintConfig.cpp
|
|
@@ -5130,7 +5130,14 @@ void DynamicPrintConfig::normalize_fdm()
|
|
}
|
|
}
|
|
|
|
- if (this->has("wipe_tower_extruder")) {
|
|
+ // This method is called repeatedly while building configuration. We may
|
|
+ // not have enough info yet to determine whether the extruder is valid;
|
|
+ // wait until we do before checking.
|
|
+ //
|
|
+ // NOTE: other extruder validation (e.g. perimeter_extruder, infill_extruder)
|
|
+ // happens elsewhere, as those settings can be modified for specific print
|
|
+ // objects or sometimes even regions of objects.
|
|
+ if (this->has("wipe_tower_extruder") && this->has("nozzle_diameter")) {
|
|
// If invalid, replace with 0.
|
|
int extruder = this->opt<ConfigOptionInt>("wipe_tower_extruder")->value;
|
|
int num_extruders = this->opt<ConfigOptionFloats>("nozzle_diameter")->size();
|