From 06a7243ac1bd23ffb85242580ae53bf9f33c12c8 Mon Sep 17 00:00:00 2001 From: dijunkun Date: Fri, 16 Aug 2024 15:06:42 +0800 Subject: [PATCH] [fix] fix mouse click event sending when control bar hovered --- src/single_window/control_window.cpp | 1 + src/single_window/render.h | 2 +- src/single_window/render_callback_func.cpp | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/single_window/control_window.cpp b/src/single_window/control_window.cpp index aa429cb..c0a5e72 100644 --- a/src/single_window/control_window.cpp +++ b/src/single_window/control_window.cpp @@ -114,6 +114,7 @@ int Render::ControlWindow() { ImGui::PopStyleColor(); ControlBar(); + control_bar_hovered_ = ImGui::IsWindowHovered(); ImGui::EndChild(); ImGui::End(); diff --git a/src/single_window/render.h b/src/single_window/render.h index 87db728..9f68331 100644 --- a/src/single_window/render.h +++ b/src/single_window/render.h @@ -181,7 +181,7 @@ class Render { bool exit_ = false; bool exit_video_window_ = false; bool connection_established_ = false; - bool subwindow_hovered_ = false; + bool control_bar_hovered_ = false; bool connect_button_pressed_ = false; bool password_validating_ = false; uint32_t password_validating_time_ = 0; diff --git a/src/single_window/render_callback_func.cpp b/src/single_window/render_callback_func.cpp index 92844d5..f41bd81 100644 --- a/src/single_window/render_callback_func.cpp +++ b/src/single_window/render_callback_func.cpp @@ -45,7 +45,7 @@ int Render::ProcessMouseKeyEven(SDL_Event &ev) { } else if (SDL_BUTTON_RIGHT == ev.button.button) { remote_action.m.flag = MouseFlag::right_down; } - if (subwindow_hovered_) { + if (control_bar_hovered_) { remote_action.m.flag = MouseFlag::move; } SendData(peer_, DATA_TYPE::DATA, (const char *)&remote_action, @@ -57,7 +57,7 @@ int Render::ProcessMouseKeyEven(SDL_Event &ev) { } else if (SDL_BUTTON_RIGHT == ev.button.button) { remote_action.m.flag = MouseFlag::right_up; } - if (subwindow_hovered_) { + if (control_bar_hovered_) { remote_action.m.flag = MouseFlag::move; } SendData(peer_, DATA_TYPE::DATA, (const char *)&remote_action,