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:
fufesou
2024-07-02 00:18:38 +08:00
committed by GitHub
parent 0ab500c27c
commit 62a8349739
2 changed files with 5 additions and 27 deletions

View File

@@ -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(),