mirror of
https://github.com/rustdesk/rustdesk.git
synced 2024-12-04 20:21:35 +08:00
refactor, will do with shared memory
This commit is contained in:
parent
c3a3c1a1c7
commit
61caaa3365
@ -80,7 +80,6 @@ pub enum Data {
|
|||||||
enabled: bool,
|
enabled: bool,
|
||||||
},
|
},
|
||||||
SystemInfo(Option<String>),
|
SystemInfo(Option<String>),
|
||||||
ClickTime(i64),
|
|
||||||
Authorize,
|
Authorize,
|
||||||
Close,
|
Close,
|
||||||
SAS,
|
SAS,
|
||||||
|
@ -19,7 +19,6 @@ use sha2::{Digest, Sha256};
|
|||||||
pub type Sender = mpsc::UnboundedSender<(Instant, Arc<Message>)>;
|
pub type Sender = mpsc::UnboundedSender<(Instant, Arc<Message>)>;
|
||||||
|
|
||||||
lazy_static::lazy_static! {
|
lazy_static::lazy_static! {
|
||||||
static ref CLICK_TIME: Arc::<Mutex<i64>> = Default::default();
|
|
||||||
static ref LOGIN_FAILURES: Arc::<Mutex<HashMap<String, (i32, i32, i32)>>> = Default::default();
|
static ref LOGIN_FAILURES: Arc::<Mutex<HashMap<String, (i32, i32, i32)>>> = Default::default();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -637,9 +636,6 @@ impl Connection {
|
|||||||
Some(message::Union::mouse_event(me)) => {
|
Some(message::Union::mouse_event(me)) => {
|
||||||
if self.keyboard {
|
if self.keyboard {
|
||||||
handle_mouse(&me, self.inner.id());
|
handle_mouse(&me, self.inner.id());
|
||||||
if is_left_up(&me) {
|
|
||||||
*CLICK_TIME.lock().unwrap() = crate::get_time();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(message::Union::key_event(mut me)) => {
|
Some(message::Union::key_event(mut me)) => {
|
||||||
@ -666,9 +662,6 @@ impl Connection {
|
|||||||
} else {
|
} else {
|
||||||
handle_key(&me);
|
handle_key(&me);
|
||||||
}
|
}
|
||||||
if is_enter(&me) {
|
|
||||||
*CLICK_TIME.lock().unwrap() = crate::get_time();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(message::Union::clipboard(cb)) => {
|
Some(message::Union::clipboard(cb)) => {
|
||||||
@ -945,18 +938,7 @@ async fn start_ipc(
|
|||||||
return Err(err.into());
|
return Err(err.into());
|
||||||
}
|
}
|
||||||
Ok(Some(data)) => {
|
Ok(Some(data)) => {
|
||||||
match data {
|
tx_from_cm.send(data)?;
|
||||||
ipc::Data::ClickTime(_)=> {
|
|
||||||
unsafe {
|
|
||||||
let ct = *CLICK_TIME.lock().unwrap();
|
|
||||||
let data = ipc::Data::ClickTime(ct);
|
|
||||||
stream.send(&data).await?;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
_ => {
|
|
||||||
tx_from_cm.send(data)?;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
11
src/ui/cm.rs
11
src/ui/cm.rs
@ -57,13 +57,6 @@ impl ConnectionManager {
|
|||||||
ICON.to_owned()
|
ICON.to_owned()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_click_time(&mut self, id: i32) {
|
|
||||||
let lock = self.read().unwrap();
|
|
||||||
if let Some(s) = lock.senders.get(&id) {
|
|
||||||
allow_err!(s.send(Data::ClickTime(crate::get_time())));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn call(&self, func: &str, args: &[Value]) {
|
fn call(&self, func: &str, args: &[Value]) {
|
||||||
let r = self.read().unwrap();
|
let r = self.read().unwrap();
|
||||||
@ -118,9 +111,6 @@ impl ConnectionManager {
|
|||||||
Data::ChatMessage { text } => {
|
Data::ChatMessage { text } => {
|
||||||
self.call("newMessage", &make_args!(id, text));
|
self.call("newMessage", &make_args!(id, text));
|
||||||
}
|
}
|
||||||
Data::ClickTime(ms) => {
|
|
||||||
self.call("resetClickCallback", &make_args!(ms as f64));
|
|
||||||
}
|
|
||||||
Data::FS(v) => match v {
|
Data::FS(v) => match v {
|
||||||
ipc::FS::ReadDir {
|
ipc::FS::ReadDir {
|
||||||
dir,
|
dir,
|
||||||
@ -318,7 +308,6 @@ impl sciter::EventHandler for ConnectionManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sciter::dispatch_script_call! {
|
sciter::dispatch_script_call! {
|
||||||
fn check_click_time(i32);
|
|
||||||
fn get_icon();
|
fn get_icon();
|
||||||
fn close(i32);
|
fn close(i32);
|
||||||
fn authorize(i32);
|
fn authorize(i32);
|
||||||
|
@ -3,8 +3,6 @@ view.windowFrame = is_osx ? #extended : #solid;
|
|||||||
var body;
|
var body;
|
||||||
var connections = [];
|
var connections = [];
|
||||||
var show_chat = false;
|
var show_chat = false;
|
||||||
var click_callback;
|
|
||||||
var click_callback_time = 0;
|
|
||||||
|
|
||||||
class Body: Reactor.Component
|
class Body: Reactor.Component
|
||||||
{
|
{
|
||||||
@ -208,21 +206,8 @@ event click $(div.chaticon) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
handler.resetClickCallback = function(ms) {
|
|
||||||
if (click_callback_time - ms < 120)
|
|
||||||
click_callback = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkClickTime(callback) {
|
function checkClickTime(callback) {
|
||||||
click_callback_time = getTime();
|
callback();
|
||||||
click_callback = callback;
|
|
||||||
handler.check_click_time(body.cid);
|
|
||||||
self.timer(120ms, function() {
|
|
||||||
if (click_callback) {
|
|
||||||
click_callback();
|
|
||||||
click_callback = null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function adaptSize() {
|
function adaptSize() {
|
||||||
|
Loading…
Reference in New Issue
Block a user