diff --git a/NetworkClient.cpp b/NetworkClient.cpp index a9e62163..e83a2b3a 100644 --- a/NetworkClient.cpp +++ b/NetworkClient.cpp @@ -764,13 +764,16 @@ void NetworkClient::SendRequest_ProtocolVersion() void NetworkClient::SendRequest_RescanDevices() { - NetPacketHeader request_hdr; + if(GetProtocolVersion() >= 5) + { + NetPacketHeader request_hdr; - InitNetPacketHeader(&request_hdr, 0, NET_PACKET_ID_REQUEST_RESCAN_DEVICES, 0); + InitNetPacketHeader(&request_hdr, 0, NET_PACKET_ID_REQUEST_RESCAN_DEVICES, 0); - send_in_progress.lock(); - send(client_sock, (char *)&request_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); - send_in_progress.unlock(); + send_in_progress.lock(); + send(client_sock, (char *)&request_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send_in_progress.unlock(); + } } void NetworkClient::SendRequest_RGBController_ClearSegments(unsigned int dev_idx, int zone) diff --git a/qt/OpenRGBClientInfoPage/OpenRGBClientInfoPage.cpp b/qt/OpenRGBClientInfoPage/OpenRGBClientInfoPage.cpp index bcf6ee33..ab8d5fb1 100644 --- a/qt/OpenRGBClientInfoPage/OpenRGBClientInfoPage.cpp +++ b/qt/OpenRGBClientInfoPage/OpenRGBClientInfoPage.cpp @@ -173,18 +173,22 @@ void OpenRGBClientInfoPage::UpdateInfo() signalMapperSave->setMapping(checkbox_save, arg_save); /*-----------------------------------------------------*\ - | Create the rescan button | + | Create the rescan button if protocol version is 5 or | + | greater | \*-----------------------------------------------------*/ - QPushButton* button_rescan = new QPushButton(tr("Rescan Devices")); - ui->ClientTree->setItemWidget(new_top_item, 3, button_rescan); + if(ResourceManager::get()->GetClients()[client_idx]->GetProtocolVersion() >= 5) + { + QPushButton* button_rescan = new QPushButton(tr("Rescan Devices")); + ui->ClientTree->setItemWidget(new_top_item, 3, button_rescan); - connect(button_rescan, SIGNAL(clicked()), signalMapperRescan, SLOT(map())); + connect(button_rescan, SIGNAL(clicked()), signalMapperRescan, SLOT(map())); - NetworkClientPointer * arg_rescan = new NetworkClientPointer(); - arg_rescan->net_client = ResourceManager::get()->GetClients()[client_idx]; - arg_rescan->widget = button_rescan; + NetworkClientPointer * arg_rescan = new NetworkClientPointer(); + arg_rescan->net_client = ResourceManager::get()->GetClients()[client_idx]; + arg_rescan->widget = button_rescan; - signalMapperRescan->setMapping(button_rescan, arg_rescan); + signalMapperRescan->setMapping(button_rescan, arg_rescan); + } /*-----------------------------------------------------*\ | Create the disconnect button |