diff options
author | Collin <iCollin@users.noreply.github.com> | 2021-09-10 08:52:05 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-10 08:52:05 -0400 |
commit | 5da57703e02fdf526c300cc26a45ff75f7d1ffd0 (patch) | |
tree | 818a778222dbd0083fedeac042bc62a0fb51f3f8 | |
parent | 28e1fdbb56f022459203c11fc4f71fe17bf6c350 (diff) | |
download | sdl_core-5da57703e02fdf526c300cc26a45ff75f7d1ffd0.tar.gz |
fix WebSocketServerTransportAdapter::Store write to last state (#3772)
* WebSocketServerTransportAdapter::Store write to last state
* hold lock until we set dict or decide not to
-rw-r--r-- | src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc b/src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc index 18c6ad9be1..9c02b78872 100644 --- a/src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc +++ b/src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc @@ -102,7 +102,8 @@ void WebSocketServerTransportAdapter::Store() const { if (webengine_device_) { resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor(); - Json::Value dictionary = accessor.GetData().dictionary(); + resumption::LastState& data = accessor.GetMutableData(); + Json::Value dictionary = data.dictionary(); if (dictionary["TransportManager"].isMember("WebsocketServerAdapter")) { SDL_LOG_DEBUG( "WebsocketServerAdapter already exists. Storing is skipped"); @@ -116,6 +117,8 @@ void WebSocketServerTransportAdapter::Store() const { ws_adapter_dictionary["device"] = device_dictionary; dictionary["TransportManager"]["WebsocketServerAdapter"] = ws_adapter_dictionary; + + data.set_dictionary(dictionary); } } |