From fe63ebf1b7ca7b0c72c9add2026617559742ef39 Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Mon, 22 Dec 2025 00:39:11 +0100 Subject: [PATCH] deSerializeSegment robustness improvement avoid creating an inconsistent configuration in case the mutex acquisition fails. --- wled00/json.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wled00/json.cpp b/wled00/json.cpp index f1aba0e9..d462111f 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -97,10 +97,10 @@ bool deserializeSegment(JsonObject elem, byte it, byte presetId) if (esp32SemTake(segmentMux, 2100) == pdTRUE) { // wait long, but don't wait forever // WLEDMM make sure we have exclusive access to the segment list strip.appendSegment(Segment(0, strip.getLengthTotal())); + id = strip.getSegmentsNum()-1; // segments are added at the end of list + newSeg = true; esp32SemGive(segmentMux); } - id = strip.getSegmentsNum()-1; // segments are added at the end of list - newSeg = true; } // WLEDMM: before changing segments, make sure our strip is _not_ servicing effects in parallel