Remove SERVER_CLIPBOARD_ENABLED unsafe code, by using AtomicBool
This commit is contained in:
parent
7f50fe3ea0
commit
c7f452752d
@ -70,7 +70,7 @@ static mut IS_IN: bool = false;
|
|||||||
static KEYBOARD_HOOKED: AtomicBool = AtomicBool::new(false);
|
static KEYBOARD_HOOKED: AtomicBool = AtomicBool::new(false);
|
||||||
static mut SERVER_KEYBOARD_ENABLED: bool = true;
|
static mut SERVER_KEYBOARD_ENABLED: bool = true;
|
||||||
static mut SERVER_FILE_TRANSFER_ENABLED: bool = true;
|
static mut SERVER_FILE_TRANSFER_ENABLED: bool = true;
|
||||||
static mut SERVER_CLIPBOARD_ENABLED: bool = true;
|
static SERVER_CLIPBOARD_ENABLED: AtomicBool = AtomicBool::new(true);
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
static mut IS_ALT_GR: bool = false;
|
static mut IS_ALT_GR: bool = false;
|
||||||
|
|
||||||
@ -1382,7 +1382,7 @@ impl Remote {
|
|||||||
Ok((mut peer, direct)) => {
|
Ok((mut peer, direct)) => {
|
||||||
unsafe {
|
unsafe {
|
||||||
SERVER_KEYBOARD_ENABLED = true;
|
SERVER_KEYBOARD_ENABLED = true;
|
||||||
SERVER_CLIPBOARD_ENABLED = true;
|
SERVER_CLIPBOARD_ENABLED.store(true, Ordering::SeqCst);
|
||||||
SERVER_FILE_TRANSFER_ENABLED = true;
|
SERVER_FILE_TRANSFER_ENABLED = true;
|
||||||
}
|
}
|
||||||
self.handler
|
self.handler
|
||||||
@ -1464,7 +1464,7 @@ impl Remote {
|
|||||||
}
|
}
|
||||||
unsafe {
|
unsafe {
|
||||||
SERVER_KEYBOARD_ENABLED = false;
|
SERVER_KEYBOARD_ENABLED = false;
|
||||||
SERVER_CLIPBOARD_ENABLED = false;
|
SERVER_CLIPBOARD_ENABLED.store(false, Ordering::SeqCst);
|
||||||
SERVER_FILE_TRANSFER_ENABLED = false;
|
SERVER_FILE_TRANSFER_ENABLED = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1518,7 +1518,7 @@ impl Remote {
|
|||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
if !unsafe { SERVER_CLIPBOARD_ENABLED }
|
if !SERVER_CLIPBOARD_ENABLED.load(Ordering::SeqCst)
|
||||||
|| !unsafe { SERVER_KEYBOARD_ENABLED }
|
|| !unsafe { SERVER_KEYBOARD_ENABLED }
|
||||||
|| lc.read().unwrap().disable_clipboard
|
|| lc.read().unwrap().disable_clipboard
|
||||||
{
|
{
|
||||||
@ -1712,7 +1712,7 @@ impl Remote {
|
|||||||
job.is_last_job = false;
|
job.is_last_job = false;
|
||||||
allow_err!(
|
allow_err!(
|
||||||
peer.send(&fs::new_send(id, job.remote.clone(), job.file_num, job.show_hidden))
|
peer.send(&fs::new_send(id, job.remote.clone(), job.file_num, job.show_hidden))
|
||||||
.await
|
.await
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -1947,7 +1947,7 @@ impl Remote {
|
|||||||
let json_str = serde_json::to_string(&job.gen_meta()).unwrap();
|
let json_str = serde_json::to_string(&job.gen_meta()).unwrap();
|
||||||
transfer_metas.write_jobs.push(json_str);
|
transfer_metas.write_jobs.push(json_str);
|
||||||
}
|
}
|
||||||
log::info!("meta: {:?}",transfer_metas);
|
log::info!("meta: {:?}", transfer_metas);
|
||||||
config.transfer = transfer_metas;
|
config.transfer = transfer_metas;
|
||||||
self.handler.save_config(config);
|
self.handler.save_config(config);
|
||||||
true
|
true
|
||||||
@ -1978,7 +1978,7 @@ impl Remote {
|
|||||||
self.check_clipboard_file_context();
|
self.check_clipboard_file_context();
|
||||||
if !(self.handler.is_file_transfer()
|
if !(self.handler.is_file_transfer()
|
||||||
|| self.handler.is_port_forward()
|
|| self.handler.is_port_forward()
|
||||||
|| !unsafe { SERVER_CLIPBOARD_ENABLED }
|
|| !SERVER_CLIPBOARD_ENABLED.load(Ordering::SeqCst)
|
||||||
|| !unsafe { SERVER_KEYBOARD_ENABLED }
|
|| !unsafe { SERVER_KEYBOARD_ENABLED }
|
||||||
|| self.handler.lc.read().unwrap().disable_clipboard)
|
|| self.handler.lc.read().unwrap().disable_clipboard)
|
||||||
{
|
{
|
||||||
@ -2188,9 +2188,7 @@ impl Remote {
|
|||||||
.call2("setPermission", &make_args!("keyboard", p.enabled));
|
.call2("setPermission", &make_args!("keyboard", p.enabled));
|
||||||
}
|
}
|
||||||
Permission::Clipboard => {
|
Permission::Clipboard => {
|
||||||
unsafe {
|
SERVER_CLIPBOARD_ENABLED.store(p.enabled, Ordering::SeqCst);
|
||||||
SERVER_CLIPBOARD_ENABLED = p.enabled;
|
|
||||||
}
|
|
||||||
self.handler
|
self.handler
|
||||||
.call2("setPermission", &make_args!("clipboard", p.enabled));
|
.call2("setPermission", &make_args!("clipboard", p.enabled));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user