From 4b3839aa345561eabade90a5fcbbd89c1592029e Mon Sep 17 00:00:00 2001 From: dijunkun Date: Fri, 7 Jun 2024 14:07:22 +0800 Subject: [PATCH] Only server can capture screen and control mouse --- src/main_window/main_window.cpp | 3 +++ src/main_window/main_window.h | 1 + src/main_window/main_window_callback_func.cpp | 6 ++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main_window/main_window.cpp b/src/main_window/main_window.cpp index 105ef02..84740c2 100644 --- a/src/main_window/main_window.cpp +++ b/src/main_window/main_window.cpp @@ -499,6 +499,7 @@ int MainWindow::Run() { !connection_established_) { ret = JoinConnection(peer_, remote_id_, client_password_); if (0 == ret) { + is_client_ = true; } } else if (connect_button_label_ == @@ -511,6 +512,7 @@ int MainWindow::Run() { is_create_connection_ = false; connection_established_ = false; received_frame_ = false; + is_client_ = false; } if (0 == ret) { @@ -842,6 +844,7 @@ int MainWindow::Run() { // Cleanup if (is_create_connection_) { LeaveConnection(peer_); + is_client_ = false; } if (peer_) { diff --git a/src/main_window/main_window.h b/src/main_window/main_window.h index be18b82..3ddb217 100644 --- a/src/main_window/main_window.h +++ b/src/main_window/main_window.h @@ -98,6 +98,7 @@ class MainWindow { char input_password_[7] = ""; char remote_id_[20] = ""; char client_password_[20] = ""; + bool is_client_ = false; private: int screen_width_ = 1280; diff --git a/src/main_window/main_window_callback_func.cpp b/src/main_window/main_window_callback_func.cpp index 1d3e2b7..497d6bd 100644 --- a/src/main_window/main_window_callback_func.cpp +++ b/src/main_window/main_window_callback_func.cpp @@ -154,8 +154,10 @@ void MainWindow::OnConnectionStatusCb(ConnectionStatus status, } else if (ConnectionStatus::Connected == status) { main_window->connection_status_str_ = "Connected"; main_window->connection_established_ = true; - main_window->start_screen_capture_ = true; - main_window->start_mouse_control_ = true; + if (!main_window->is_client_) { + main_window->start_screen_capture_ = true; + main_window->start_mouse_control_ = true; + } } else if (ConnectionStatus::Disconnected == status) { main_window->connection_status_str_ = "Disconnected"; } else if (ConnectionStatus::Failed == status) {