mirror of
https://github.com/s00500/ESPUI.git
synced 2024-11-24 17:30:55 +00:00
Fixed bug that caused a crash when sending graphpoint updates to multiple browsers.
This commit is contained in:
parent
a18254b16b
commit
1595b3bd04
@ -857,19 +857,24 @@ void ESPUIClass::clearGraph(uint16_t id, int clientId) { }
|
|||||||
|
|
||||||
void ESPUIClass::addGraphPoint(uint16_t id, int nValue, int clientId)
|
void ESPUIClass::addGraphPoint(uint16_t id, int nValue, int clientId)
|
||||||
{
|
{
|
||||||
Control* control = getControl(id);
|
do // once
|
||||||
if (!control)
|
|
||||||
{
|
{
|
||||||
return;
|
Control* control = getControl(id);
|
||||||
}
|
if (!control)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
DynamicJsonDocument document(jsonUpdateDocumentSize);
|
DynamicJsonDocument document(jsonUpdateDocumentSize);
|
||||||
JsonObject root = document.to<JsonObject>();
|
JsonObject root = document.to<JsonObject>();
|
||||||
|
|
||||||
root[F("type")] = (int)ControlType::GraphPoint;
|
root[F("type")] = (int)ControlType::GraphPoint;
|
||||||
root[F("value")] = nValue;
|
root[F("value")] = nValue;
|
||||||
root[F("id")] = control->id;
|
root[F("id")] = control->id;
|
||||||
SendJsonDocToWebSocket(document, clientId);
|
|
||||||
|
SendJsonDocToWebSocket(document, clientId);
|
||||||
|
|
||||||
|
} while(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ESPUIClass::SendJsonDocToWebSocket(ArduinoJson::DynamicJsonDocument& document, uint16_t clientId)
|
bool ESPUIClass::SendJsonDocToWebSocket(ArduinoJson::DynamicJsonDocument& document, uint16_t clientId)
|
||||||
@ -885,9 +890,9 @@ bool ESPUIClass::SendJsonDocToWebSocket(ArduinoJson::DynamicJsonDocument& docume
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for(auto& CurrentClient : MapOfClients)
|
for(auto CurrentClient : MapOfClients)
|
||||||
{
|
{
|
||||||
Response |= MapOfClients[clientId]->SendJsonDocToWebSocket(document);
|
Response |= CurrentClient.second->SendJsonDocToWebSocket(document);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user