diff --git a/NetworkClient.cpp b/NetworkClient.cpp index 1d4a7d6c..57193052 100644 --- a/NetworkClient.cpp +++ b/NetworkClient.cpp @@ -320,7 +320,7 @@ int NetworkClient::recv_select(SOCKET s, char *buf, int len, int flags) { timeout.tv_sec = 5; timeout.tv_usec = 0; - + FD_ZERO(&set); /* clear the set */ FD_SET(s, &set); /* add our file descriptor to the set */ @@ -339,7 +339,7 @@ int NetworkClient::recv_select(SOCKET s, char *buf, int len, int flags) // socket has something to read return(recv(s, buf, len, flags)); } - + } } @@ -545,6 +545,10 @@ void NetworkClient::ProcessReply_ControllerData(unsigned int /*data_size*/, char else { server_controllers[dev_idx]->active_mode = new_controller->active_mode; + for(unsigned int i = 0; i < server_controllers[dev_idx]->zones.size(); i++) + { + server_controllers[dev_idx]->zones[i].leds_count = new_controller->zones[i].leds_count; + } delete new_controller; } diff --git a/NetworkServer.cpp b/NetworkServer.cpp index cf4972c8..cec8b1ac 100644 --- a/NetworkServer.cpp +++ b/NetworkServer.cpp @@ -620,6 +620,7 @@ void NetworkServer::ListenThreadFunction(NetworkClientInfo * client_info) memcpy(&new_size, data + sizeof(int), sizeof(int)); controllers[header.pkt_dev_idx]->ResizeZone(zone, new_size); + profile_manager->SaveProfile("sizes", true); } break; @@ -858,7 +859,7 @@ void NetworkServer::SendReply_ControllerData(SOCKET client_sock, unsigned int de unsigned int reply_size; memcpy(&reply_size, reply_data, sizeof(reply_size)); - + reply_hdr.pkt_magic[0] = 'O'; reply_hdr.pkt_magic[1] = 'R'; reply_hdr.pkt_magic[2] = 'G'; diff --git a/RGBController/RGBController_Network.cpp b/RGBController/RGBController_Network.cpp index 6363f192..dab43ff5 100644 --- a/RGBController/RGBController_Network.cpp +++ b/RGBController/RGBController_Network.cpp @@ -24,6 +24,9 @@ void RGBController_Network::SetupZones() void RGBController_Network::ResizeZone(int zone, int new_size) { client->SendRequest_RGBController_ResizeZone(dev_idx, zone, new_size); + + client->SendRequest_ControllerData(dev_idx); + client->WaitOnControllerData(); } void RGBController_Network::DeviceUpdateLEDs()