From bea1eacf72241b620e0f874bc88bc27c61452246 Mon Sep 17 00:00:00 2001 From: fufesou Date: Tue, 21 Mar 2023 12:25:47 +0800 Subject: [PATCH] debug done Signed-off-by: fufesou --- flutter/lib/desktop/widgets/remote_toolbar.dart | 3 ++- flutter/lib/models/model.dart | 11 ++++++++--- src/flutter.rs | 2 +- src/server/connection.rs | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/flutter/lib/desktop/widgets/remote_toolbar.dart b/flutter/lib/desktop/widgets/remote_toolbar.dart index d85fe779e..ec039b67c 100644 --- a/flutter/lib/desktop/widgets/remote_toolbar.dart +++ b/flutter/lib/desktop/widgets/remote_toolbar.dart @@ -1464,7 +1464,8 @@ class _DisplayMenuState extends State<_DisplayMenu> { return Offstage(); } final ffiModel = widget.ffi.ffiModel; - final visible = !widget.ffi.canvasModel.cursorEmbedded; + final visible = + !widget.ffi.canvasModel.cursorEmbedded && !ffiModel.pi.is_wayland; if (!visible) return Offstage(); final enabled = !ffiModel.viewOnly; final state = ShowRemoteCursorState.find(widget.id); diff --git a/flutter/lib/models/model.dart b/flutter/lib/models/model.dart index 5c09b1cdb..b8d4f2ebc 100644 --- a/flutter/lib/models/model.dart +++ b/flutter/lib/models/model.dart @@ -453,9 +453,14 @@ class FfiModel with ChangeNotifier { bind.sessionGetToggleOptionSync(id: peerId, arg: 'view-only')); } if (connType == ConnType.defaultConn) { - try { - _pi.platform_additions = json.decode(evt['platform_additions']); - } catch (e) {} + final platform_additions = evt['platform_additions']; + if (platform_additions != null && platform_additions != '') { + try { + _pi.platform_additions = json.decode(platform_additions); + } catch (e) { + debugPrint('Failed to decode platform_additions $e'); + } + } } notifyListeners(); } diff --git a/src/flutter.rs b/src/flutter.rs index d2498bc7a..fde9ce7cd 100644 --- a/src/flutter.rs +++ b/src/flutter.rs @@ -509,7 +509,7 @@ impl InvokeUiSession for FlutterHandler { ("features", &features), ("current_display", &pi.current_display.to_string()), ("resolutions", &resolutions), - ("platform_additions": &pi.platform_additions), + ("platform_additions", &pi.platform_additions), ], ); } diff --git a/src/server/connection.rs b/src/server/connection.rs index 85ebc9926..07c37b12c 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -848,7 +848,7 @@ impl Connection { { pi.platform_additions = format!(r#" {{ - "is_wayland": {}, + "is_wayland": {} }} "#, crate::platform::current_is_wayland()); }