diff --git a/flutter/lib/desktop/widgets/remote_menubar.dart b/flutter/lib/desktop/widgets/remote_menubar.dart index 3e37cef40..e38e5c992 100644 --- a/flutter/lib/desktop/widgets/remote_menubar.dart +++ b/flutter/lib/desktop/widgets/remote_menubar.dart @@ -1437,6 +1437,9 @@ class _DisplayMenuState extends State<_DisplayMenu> { } showRemoteCursor() { + if (widget.ffi.ffiModel.pi.platform == kPeerPlatformAndroid) { + return Offstage(); + } final visible = !widget.ffi.canvasModel.cursorEmbedded; if (!visible) return Offstage(); final state = ShowRemoteCursorState.find(widget.id); @@ -1454,6 +1457,9 @@ class _DisplayMenuState extends State<_DisplayMenu> { } zoomCursor() { + if (widget.ffi.ffiModel.pi.platform == kPeerPlatformAndroid) { + return Offstage(); + } final visible = widget.state.viewStyle.value != kRemoteViewStyleOriginal; if (!visible) return Offstage(); final option = 'zoom-cursor'; diff --git a/src/server/connection.rs b/src/server/connection.rs index 6bf602596..7127187d8 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -543,6 +543,7 @@ impl Connection { if let Some(s) = conn.server.upgrade() { let mut s = s.write().unwrap(); s.remove_connection(&conn.inner); + #[cfg(not(any(target_os = "android", target_os = "ios")))] try_stop_record_cursor_pos(); } log::info!("#{} connection loop exited", id); @@ -951,6 +952,7 @@ impl Connection { noperms.push(super::audio_service::NAME); } let mut s = s.write().unwrap(); + #[cfg(not(any(target_os = "android", target_os = "ios")))] try_start_record_cursor_pos(); s.add_connection(self.inner.clone(), &noperms); } @@ -1740,6 +1742,7 @@ impl Connection { self.lock_after_session_end = q == BoolOption::Yes; } } + #[cfg(not(any(target_os = "android", target_os = "ios")))] if let Ok(q) = o.show_remote_cursor.enum_value() { if q != BoolOption::NotSet { self.show_remote_cursor = q == BoolOption::Yes;