mirror of
https://github.com/weyne85/rustdesk.git
synced 2025-10-29 17:00:05 +00:00
fix: clipboard data, decompress, buf too small (#8556)
* fix: clipboard data, decompress, buf too small Signed-off-by: fufesou <linlong1266@gmail.com> * fix: compress image Signed-off-by: fufesou <linlong1266@gmail.com> * decompress image, use default level Signed-off-by: fufesou <linlong1266@gmail.com> * chore Signed-off-by: fufesou <linlong1266@gmail.com> * decompress, zstd::decode_all Signed-off-by: fufesou <linlong1266@gmail.com> --------- Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
@@ -5,11 +5,11 @@ use std::sync::{
|
||||
|
||||
use clipboard_master::{CallbackResult, ClipboardHandler, Master, Shutdown};
|
||||
use hbb_common::{
|
||||
ResultType,
|
||||
allow_err,
|
||||
compress::{compress as compress_func, decompress},
|
||||
log,
|
||||
message_proto::*,
|
||||
ResultType,
|
||||
};
|
||||
|
||||
pub const CLIPBOARD_NAME: &'static str = "clipboard";
|
||||
@@ -218,12 +218,13 @@ impl ClipboardData {
|
||||
}
|
||||
|
||||
fn from_msg(clipboard: Clipboard) -> Self {
|
||||
let is_image = clipboard.width > 0 && clipboard.height > 0;
|
||||
let data = if clipboard.compress {
|
||||
decompress(&clipboard.content)
|
||||
} else {
|
||||
clipboard.content.into()
|
||||
};
|
||||
if clipboard.width > 0 && clipboard.height > 0 {
|
||||
if is_image {
|
||||
ClipboardData::Image(
|
||||
arboard::ImageData {
|
||||
bytes: data.into(),
|
||||
|
||||
Reference in New Issue
Block a user