Validate Port value in UI before changing

This commit is contained in:
Bruno Herbelin
2022-01-28 18:44:32 +01:00
parent bce372bd79
commit 3605ae14b5

View File

@@ -5940,10 +5940,10 @@ void Navigator::RenderMainPannelSettings()
ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN); ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN);
char bufport[7] = ""; char bufport[7] = "";
sprintf(bufport, "%d", Settings::application.broadcast_port); sprintf(bufport, "%d", Settings::application.broadcast_port);
ImGui::InputTextWithHint("Broadcast", "8888", bufport, 7, ImGuiInputTextFlags_CharsDecimal); ImGui::InputTextWithHint("Broadcast", "7070", bufport, 6, ImGuiInputTextFlags_CharsDecimal);
if (ImGui::IsItemDeactivatedAfterEdit()){ if (ImGui::IsItemDeactivatedAfterEdit()){
if ( BaseToolkit::is_a_number(bufport, &Settings::application.broadcast_port)) if ( BaseToolkit::is_a_number(bufport, &Settings::application.broadcast_port))
Control::manager().init(); Settings::application.broadcast_port = CLAMP(Settings::application.broadcast_port, 1029, 49150);
} }
ImGuiToolkit::Indication("Sharing H264 stream requires less bandwidth but more resources for encoding.", ICON_FA_SHARE_ALT_SQUARE); ImGuiToolkit::Indication("Sharing H264 stream requires less bandwidth but more resources for encoding.", ICON_FA_SHARE_ALT_SQUARE);
@@ -5969,9 +5969,11 @@ void Navigator::RenderMainPannelSettings()
sprintf(bufreceive, "%d", Settings::application.control.osc_port_receive); sprintf(bufreceive, "%d", Settings::application.control.osc_port_receive);
ImGui::InputTextWithHint("Port in", "7000", bufreceive, 7, ImGuiInputTextFlags_CharsDecimal); ImGui::InputTextWithHint("Port in", "7000", bufreceive, 7, ImGuiInputTextFlags_CharsDecimal);
if (ImGui::IsItemDeactivatedAfterEdit()){ if (ImGui::IsItemDeactivatedAfterEdit()){
if ( BaseToolkit::is_a_number(bufreceive, &Settings::application.control.osc_port_receive)) if ( BaseToolkit::is_a_number(bufreceive, &Settings::application.control.osc_port_receive)){
Settings::application.control.osc_port_receive = CLAMP(Settings::application.control.osc_port_receive, 1029, 49150);
Control::manager().init(); Control::manager().init();
} }
}
ImGui::SetCursorPosX(-1.f * IMGUI_RIGHT_ALIGN); ImGui::SetCursorPosX(-1.f * IMGUI_RIGHT_ALIGN);
ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN); ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN);
@@ -5979,9 +5981,11 @@ void Navigator::RenderMainPannelSettings()
sprintf(bufsend, "%d", Settings::application.control.osc_port_send); sprintf(bufsend, "%d", Settings::application.control.osc_port_send);
ImGui::InputTextWithHint("Port out", "7001", bufsend, 7, ImGuiInputTextFlags_CharsDecimal); ImGui::InputTextWithHint("Port out", "7001", bufsend, 7, ImGuiInputTextFlags_CharsDecimal);
if (ImGui::IsItemDeactivatedAfterEdit()){ if (ImGui::IsItemDeactivatedAfterEdit()){
if ( BaseToolkit::is_a_number(bufsend, &Settings::application.control.osc_port_send)) if ( BaseToolkit::is_a_number(bufsend, &Settings::application.control.osc_port_send)){
Settings::application.control.osc_port_send = CLAMP(Settings::application.control.osc_port_send, 1029, 49150);
Control::manager().init(); Control::manager().init();
} }
}
ImGui::SetCursorPosX(-1.f * IMGUI_RIGHT_ALIGN); ImGui::SetCursorPosX(-1.f * IMGUI_RIGHT_ALIGN);
const float w = IMGUI_RIGHT_ALIGN - ImGui::GetFrameHeightWithSpacing(); const float w = IMGUI_RIGHT_ALIGN - ImGui::GetFrameHeightWithSpacing();