diff --git a/src/client/io_loop.rs b/src/client/io_loop.rs index b02ff48ca..fc6ab3414 100644 --- a/src/client/io_loop.rs +++ b/src/client/io_loop.rs @@ -1426,8 +1426,11 @@ impl Remote { self.handler.set_cursor_position(cp); } Some(message::Union::Clipboard(cb)) => { - let lc = self.handler.lc.read().unwrap(); - if !lc.disable_clipboard.v && !lc.view_only.v { + let clipboard_allowed = { + let lc = self.handler.lc.read().unwrap(); + !lc.disable_clipboard.v && !lc.view_only.v + }; + if clipboard_allowed { #[cfg(not(any(target_os = "android", target_os = "ios")))] update_clipboard(vec![cb], ClipboardSide::Client); #[cfg(target_os = "ios")] @@ -1446,8 +1449,11 @@ impl Remote { } } Some(message::Union::MultiClipboards(_mcb)) => { - let lc = self.handler.lc.read().unwrap(); - if !lc.disable_clipboard.v && !lc.view_only.v { + let clipboard_allowed = { + let lc = self.handler.lc.read().unwrap(); + !lc.disable_clipboard.v && !lc.view_only.v + }; + if clipboard_allowed { #[cfg(not(any(target_os = "android", target_os = "ios")))] update_clipboard(_mcb.clipboards, ClipboardSide::Client); #[cfg(target_os = "ios")]