From b93d72296c93f4374c00dc912b5b4fe45da43ddb Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Fri, 5 Nov 2021 23:00:38 +0100 Subject: [PATCH] Async response bugfix. --- wled00/json.cpp | 3 +++ wled00/src/dependencies/json/AsyncJson-v6.h | 4 ++-- wled00/wled.h | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/wled00/json.cpp b/wled00/json.cpp index 08e0d327b..d12888afa 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -914,7 +914,10 @@ void serveJson(AsyncWebServerRequest* request) } //AsyncJsonResponse* response = new AsyncJsonResponse(JSON_BUFFER_SIZE); + while (jsonBufferLock) delay(1); jsonBufferLock = true; + doc.clear(); + AsyncJsonResponse *response = new AsyncJsonResponse(&doc); JsonObject lDoc = response->getRoot(); diff --git a/wled00/src/dependencies/json/AsyncJson-v6.h b/wled00/src/dependencies/json/AsyncJson-v6.h index 3f1ba4424..32ac54607 100644 --- a/wled00/src/dependencies/json/AsyncJson-v6.h +++ b/wled00/src/dependencies/json/AsyncJson-v6.h @@ -68,9 +68,9 @@ class AsyncJsonResponse: public AsyncAbstractResponse { _code = 200; _contentType = JSON_MIMETYPE; if(isArray) - _root = ref->as(); + _root = ref->to(); else - _root = ref->as(); + _root = ref->to(); } AsyncJsonResponse(size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE, bool isArray=false) : _jsonBuffer(maxJsonBufferSize), _isValid{false} { diff --git a/wled00/wled.h b/wled00/wled.h index 7db40c2ab..3d0ea67d6 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -8,7 +8,7 @@ */ // version code in format yymmddb (b = daily build) -#define VERSION 2111041 +#define VERSION 2111051 //uncomment this if you have a "my_config.h" file you'd like to use //#define WLED_USE_MY_CONFIG