diff --git a/src/WebApi_device.cpp b/src/WebApi_device.cpp index be665d8b..a8deb4ed 100644 --- a/src/WebApi_device.cpp +++ b/src/WebApi_device.cpp @@ -129,10 +129,14 @@ void WebApiDeviceClass::onDeviceAdminPost(AsyncWebServerRequest* request) return; } + bool performRestart = false; + { auto guard = Configuration.getWriteGuard(); auto& config = guard.getConfig(); + performRestart = root["curPin"]["name"].as() != config.Dev_PinMapping; + strlcpy(config.Dev_PinMapping, root["curPin"]["name"].as().c_str(), sizeof(config.Dev_PinMapping)); config.Display.Rotation = root["display"]["rotation"].as(); config.Display.PowerSafe = root["display"]["power_safe"].as(); @@ -149,7 +153,6 @@ void WebApiDeviceClass::onDeviceAdminPost(AsyncWebServerRequest* request) } auto const& config = Configuration.get(); - bool performRestart = root["curPin"]["name"].as() != config.Dev_PinMapping; Display.setDiagramMode(static_cast(config.Display.Diagram.Mode)); Display.setOrientation(config.Display.Rotation);