From 224085363340f6d319ea127f1ccc4196478db096 Mon Sep 17 00:00:00 2001 From: fufesou Date: Mon, 19 Jun 2023 21:44:32 +0800 Subject: [PATCH] debug server clipboard enabled Signed-off-by: fufesou --- libs/clipboard/src/context_send.rs | 1 + src/server/connection.rs | 8 +++++--- src/ui_cm_interface.rs | 10 ++++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/libs/clipboard/src/context_send.rs b/libs/clipboard/src/context_send.rs index f640639a4..2c9780249 100644 --- a/libs/clipboard/src/context_send.rs +++ b/libs/clipboard/src/context_send.rs @@ -19,6 +19,7 @@ impl ContextSend { } } + #[inline] pub fn is_server_enabled() -> bool { CONTEXT_SEND.lock().unwrap().server_enabled } diff --git a/src/server/connection.rs b/src/server/connection.rs index 963c567e2..afcac136f 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -439,9 +439,10 @@ impl Connection { #[cfg(windows)] ipc::Data::ClipboardFile(clip) => { let is_stopping_allowed = clip.is_stopping_allowed(); + let is_clipboard_enabled = clipboard::ContextSend::is_server_enabled(); let file_transfer_enabled = conn.file_transfer_enabled(); - let stop = is_stopping_allowed && !file_transfer_enabled; - log::debug!("Process clipboard message from cm, stop: {}, is_stopping_allowed: {}, file_transfer_enabled: {}", stop, is_stopping_allowed, file_transfer_enabled); + let stop = is_stopping_allowed && !(is_clipboard_enabled && file_transfer_enabled); + log::debug!("Process clipboard message from cm, stop: {}, is_stopping_allowed: {}, is_clipboard_enabled: {}, file_transfer_enabled: {}", stop, is_stopping_allowed, is_clipboard_enabled, file_transfer_enabled); if !stop { allow_err!(conn.stream.send(&clip_2_msg(clip)).await); } @@ -1639,7 +1640,8 @@ impl Connection { update_clipboard(_cb, None); } } - Some(message::Union::Cliprdr(_clip)) => { + Some(message::Union::Cliprdr(_clip)) => + { #[cfg(windows)] if let Some(clip) = msg_2_clip(_clip) { self.send_to_cm(ipc::Data::ClipboardFile(clip)) diff --git a/src/ui_cm_interface.rs b/src/ui_cm_interface.rs index c1ef08e7f..dc81b905e 100644 --- a/src/ui_cm_interface.rs +++ b/src/ui_cm_interface.rs @@ -402,9 +402,10 @@ impl IpcTaskRunner { #[cfg(windows)] { let is_stopping_allowed = _clip.is_stopping_allowed(); + let is_clipboard_enabled = ContextSend::is_server_enabled(); let file_transfer_enabled = self.file_transfer_enabled; - let stop = is_stopping_allowed && !file_transfer_enabled; - log::debug!("Process clipboard message from peer, stop: {}, is_stopping_allowed: {}, file_transfer_enabled: {}", stop, is_stopping_allowed, file_transfer_enabled); + let stop = !is_stopping_allowed && !(is_clipboard_enabled && file_transfer_enabled); + log::debug!("Process clipboard message from peer, stop: {}, is_stopping_allowed: {}, is_clipboard_enabled: {}, file_transfer_enabled: {}", stop, is_stopping_allowed, is_clipboard_enabled, file_transfer_enabled); if !stop { let conn_id = self.conn_id; ContextSend::proc(|context: &mut Box| -> u32 { @@ -456,9 +457,10 @@ impl IpcTaskRunner { #[cfg(windows)] { let is_stopping_allowed = _clip.is_stopping_allowed(); + let is_clipboard_enabled = ContextSend::is_server_enabled(); let file_transfer_enabled = self.file_transfer_enabled; - let stop = is_stopping_allowed && !file_transfer_enabled; - log::debug!("Process clipboard message from cm, stop: {}, is_stopping_allowed: {}, file_transfer_enabled: {}", stop, is_stopping_allowed, file_transfer_enabled); + let stop = is_stopping_allowed && !(is_clipboard_enabled && file_transfer_enabled); + log::debug!("Process clipboard message from cm, stop: {}, is_stopping_allowed: {}, is_clipboard_enabled: {}, file_transfer_enabled: {}", stop, is_stopping_allowed, is_clipboard_enabled, file_transfer_enabled); if !stop { allow_err!(self.tx.send(Data::ClipboardFile(_clip))); }