From 3bb7123dd50834bb8de7f36e36a04b495b409c16 Mon Sep 17 00:00:00 2001 From: dignow Date: Sun, 8 Oct 2023 23:32:11 +0800 Subject: [PATCH] fix build, sciter Signed-off-by: dignow --- src/client.rs | 2 +- src/client/io_loop.rs | 2 +- src/flutter_ffi.rs | 2 +- src/server/connection.rs | 2 ++ src/ui/header.tis | 6 ++++-- src/ui/remote.rs | 2 +- src/ui_session_interface.rs | 10 ++++++++-- 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/client.rs b/src/client.rs index f7c6c6d96..eff490ebb 100644 --- a/src/client.rs +++ b/src/client.rs @@ -1926,7 +1926,7 @@ where // // to-do: fix the error log::error!("handle video frame error, {}", e); - session.refresh_video(display); + session.refresh_video(display as _); } _ => {} } diff --git a/src/client/io_loop.rs b/src/client/io_loop.rs index 151bee0cc..4c830a2f9 100644 --- a/src/client/io_loop.rs +++ b/src/client/io_loop.rs @@ -1008,7 +1008,7 @@ impl Remote { { // Refresh causes client set_display, left frames cause flickering. while let Some(_) = video_queue.pop() {} - self.handler.refresh_video(*display); + self.handler.refresh_video(*display as _); ctl.refresh_times += 1; ctl.last_refresh_instant = Instant::now(); } diff --git a/src/flutter_ffi.rs b/src/flutter_ffi.rs index 080ad8178..77da2942c 100644 --- a/src/flutter_ffi.rs +++ b/src/flutter_ffi.rs @@ -180,7 +180,7 @@ pub fn session_close(session_id: SessionID) { pub fn session_refresh(session_id: SessionID, display: usize) { if let Some(session) = sessions::get_session_by_session_id(&session_id) { - session.refresh_video(display); + session.refresh_video(display as _); } } diff --git a/src/server/connection.rs b/src/server/connection.rs index 990ee733c..5f9502397 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -1970,6 +1970,8 @@ impl Connection { } Some(misc::Union::RefreshVideo(r)) => { if r { + // Refresh all videos. + // Compatibility with old versions and sciter(remote). self.refresh_video_display(None); } self.update_auto_disconnect_timer(); diff --git a/src/ui/header.tis b/src/ui/header.tis index f4a05b9f7..a6cb2645d 100644 --- a/src/ui/header.tis +++ b/src/ui/header.tis @@ -298,8 +298,9 @@ class Header: Reactor.Component { recording = !recording; header.update(); handler.record_status(recording); + // 0 is just a dummy value. It will be ignored by the handler. if (recording) - handler.refresh_video(); + handler.refresh_video(0); else handler.record_screen(false, 0, display_width, display_height); } @@ -370,7 +371,8 @@ class Header: Reactor.Component { } event click $(#refresh) { - handler.refresh_video(); + // 0 is just a dummy value. It will be ignored by the handler. + handler.refresh_video(0); } event click $(#block-input) { diff --git a/src/ui/remote.rs b/src/ui/remote.rs index 979d6d7f6..71ef8f84d 100644 --- a/src/ui/remote.rs +++ b/src/ui/remote.rs @@ -453,7 +453,7 @@ impl sciter::EventHandler for SciterSession { fn save_view_style(String); fn save_image_quality(String); fn save_custom_image_quality(i32); - fn refresh_video(); + fn refresh_video(i32); fn record_screen(bool, i32, i32, i32); fn record_status(bool); fn get_toggle_option(String); diff --git a/src/ui_session_interface.rs b/src/ui_session_interface.rs index 0fccabed2..ff559f19c 100644 --- a/src/ui_session_interface.rs +++ b/src/ui_session_interface.rs @@ -282,14 +282,20 @@ impl Session { && !self.lc.read().unwrap().disable_clipboard.v } - pub fn refresh_video(&self, display: usize) { + #[cfg(feature = "flutter")] + pub fn refresh_video(&self, display: i32) { if crate::common::is_support_multi_ui_session_num(self.lc.read().unwrap().version) { - self.send(Data::Message(LoginConfigHandler::refresh_display(display))); + self.send(Data::Message(LoginConfigHandler::refresh_display(display as _))); } else { self.send(Data::Message(LoginConfigHandler::refresh())); } } + #[cfg(not(feature = "flutter"))] + pub fn refresh_video(&self, _display: i32) { + self.send(Data::Message(LoginConfigHandler::refresh())); + } + pub fn record_screen(&self, start: bool, display: i32, w: i32, h: i32) { self.send(Data::RecordScreen( start,