diff --git a/src/gui/render.cpp b/src/gui/render.cpp index 8733d64..83c6aa0 100644 --- a/src/gui/render.cpp +++ b/src/gui/render.cpp @@ -908,6 +908,7 @@ int Render::DrawStreamWindow() { int Render::Run() { latest_version_ = CheckUpdate(); + update_available_ = IsNewerVersion(CROSSDESK_VERSION, latest_version_); path_manager_ = std::make_unique("CrossDesk"); if (path_manager_) { diff --git a/src/gui/render.h b/src/gui/render.h index a2ba810..c3eab1b 100644 --- a/src/gui/render.h +++ b/src/gui/render.h @@ -308,6 +308,7 @@ class Render { // main window properties std::string latest_version_ = ""; + bool update_available_ = false; bool start_mouse_controller_ = false; bool mouse_controller_is_started_ = false; bool start_screen_capturer_ = false; diff --git a/src/gui/toolbars/title_bar.cpp b/src/gui/toolbars/title_bar.cpp index 6143e6e..9c28204 100644 --- a/src/gui/toolbars/title_bar.cpp +++ b/src/gui/toolbars/title_bar.cpp @@ -45,7 +45,7 @@ int Render::TitleBar(bool main_window) { std::string about_str = localization::about[localization_language_index_]; - if (!latest_version_.empty()) { + if (update_available_) { auto now_time = std::chrono::duration_cast( std::chrono::steady_clock::now().time_since_epoch()) @@ -75,7 +75,7 @@ int Render::TitleBar(bool main_window) { show_about_window_ = true; } - if (!latest_version_.empty() && ImGui::IsItemHovered()) { + if (update_available_ && ImGui::IsItemHovered()) { ImGui::BeginTooltip(); ImGui::SetWindowFontScale(0.5f); std::string new_version_available_str = @@ -104,7 +104,7 @@ int Render::TitleBar(bool main_window) { ImVec2(bar_pos_x + menu_bar_line_size, bar_pos_y + 6), IM_COL32(0, 0, 0, 255)); - if (!latest_version_.empty() && show_new_version_icon_in_menu_) { + if (update_available_ && show_new_version_icon_in_menu_) { auto now_time = std::chrono::duration_cast( std::chrono::steady_clock::now().time_since_epoch()) .count(); diff --git a/src/gui/windows/about_window.cpp b/src/gui/windows/about_window.cpp index 3e9caed..4369348 100644 --- a/src/gui/windows/about_window.cpp +++ b/src/gui/windows/about_window.cpp @@ -70,7 +70,7 @@ int Render::AboutWindow() { ": CrossDesk v" + version; ImGui::Text("%s", text.c_str()); - if (!latest_version_.empty()) { + if (update_available_) { std::string latest_version = localization::new_version_available[localization_language_index_] + ": " + latest_version_;