From 43f9191a6bed50e9038699ccf34610ec37f3f3b0 Mon Sep 17 00:00:00 2001 From: Kingtous Date: Tue, 1 Nov 2022 10:10:40 +0800 Subject: [PATCH 1/2] fix: close previous tab causes reconnection --- .../lib/desktop/pages/remote_tab_page.dart | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/flutter/lib/desktop/pages/remote_tab_page.dart b/flutter/lib/desktop/pages/remote_tab_page.dart index 93008de07..1a2fe557e 100644 --- a/flutter/lib/desktop/pages/remote_tab_page.dart +++ b/flutter/lib/desktop/pages/remote_tab_page.dart @@ -80,14 +80,17 @@ class _ConnectionTabPageState extends State { selectedIcon: selectedIcon, unselectedIcon: unselectedIcon, onTabCloseButton: () => tabController.closeBy(id), - page: Obx(() => RemotePage( - key: ValueKey(id), - id: id, - windowId: windowId(), - tabBarHeight: - fullscreen.isTrue ? 0 : kDesktopRemoteTabBarHeight, - windowBorderWidth: fullscreen.isTrue ? 0 : kWindowBorderWidth, - )))); + page: ObxValue( + (fullscreen) => RemotePage( + id: id, + windowId: windowId(), + tabBarHeight: + fullscreen.isTrue ? 0 : kDesktopRemoteTabBarHeight, + windowBorderWidth: fullscreen.isTrue ? 0 : kWindowBorderWidth, + ), + fullscreen, + key: ValueKey(id), + ))); } else if (call.method == "onDestroy") { tabController.clear(); } else if (call.method == kWindowActionRebuild) { From cdb63bbc71aec76860043caf5f6d5e5e9b53700b Mon Sep 17 00:00:00 2001 From: Kingtous Date: Tue, 1 Nov 2022 10:11:04 +0800 Subject: [PATCH 2/2] opt: add g_autoptr to free event automatically --- flutter/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml index eb9c336cc..a100a8d72 100644 --- a/flutter/pubspec.yaml +++ b/flutter/pubspec.yaml @@ -64,7 +64,7 @@ dependencies: desktop_multi_window: git: url: https://github.com/Kingtous/rustdesk_desktop_multi_window - ref: bf278fc8a8ff787e46fa3ab97674373bfaa20f23 + ref: 39a8a5b8aed059a89a1694ed2dffe69e31da2ac1 freezed_annotation: ^2.0.3 tray_manager: git: