From 74b03afe5ca495ba70c5f284d102dbfeee04afb2 Mon Sep 17 00:00:00 2001 From: Kingtous Date: Sat, 22 Oct 2022 22:43:26 +0800 Subject: [PATCH] fix: sub window failed to start or freeze issue --- flutter/lib/desktop/pages/file_manager_tab_page.dart | 3 +++ flutter/lib/desktop/pages/port_forward_tab_page.dart | 3 +++ flutter/lib/desktop/pages/remote_tab_page.dart | 3 +++ flutter/lib/main.dart | 3 --- flutter/pubspec.yaml | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/flutter/lib/desktop/pages/file_manager_tab_page.dart b/flutter/lib/desktop/pages/file_manager_tab_page.dart index f844edc36..85a2ab197 100644 --- a/flutter/lib/desktop/pages/file_manager_tab_page.dart +++ b/flutter/lib/desktop/pages/file_manager_tab_page.dart @@ -64,6 +64,9 @@ class _FileManagerTabPageState extends State { tabController.clear(); } }); + Future.delayed(Duration.zero, () { + restoreWindowPosition(WindowType.FileTransfer, windowId: windowId()); + }); } @override diff --git a/flutter/lib/desktop/pages/port_forward_tab_page.dart b/flutter/lib/desktop/pages/port_forward_tab_page.dart index 6c6865718..64a67121b 100644 --- a/flutter/lib/desktop/pages/port_forward_tab_page.dart +++ b/flutter/lib/desktop/pages/port_forward_tab_page.dart @@ -72,6 +72,9 @@ class _PortForwardTabPageState extends State { tabController.clear(); } }); + Future.delayed(Duration.zero, () { + restoreWindowPosition(WindowType.PortForward, windowId: windowId()); + }); } @override diff --git a/flutter/lib/desktop/pages/remote_tab_page.dart b/flutter/lib/desktop/pages/remote_tab_page.dart index 1d3daf7b3..ea0658b6e 100644 --- a/flutter/lib/desktop/pages/remote_tab_page.dart +++ b/flutter/lib/desktop/pages/remote_tab_page.dart @@ -92,6 +92,9 @@ class _ConnectionTabPageState extends State { } _update_remote_count(); }); + Future.delayed(Duration.zero, () { + restoreWindowPosition(WindowType.RemoteDesktop, windowId: windowId()); + }); } @override diff --git a/flutter/lib/main.dart b/flutter/lib/main.dart index 6f69a9c2b..1b896c781 100644 --- a/flutter/lib/main.dart +++ b/flutter/lib/main.dart @@ -121,7 +121,6 @@ void runMobileApp() async { void runRemoteScreen(Map argument) async { await initEnv(kAppTypeDesktopRemote); - await restoreWindowPosition(WindowType.RemoteDesktop, windowId: windowId); runApp(GetMaterialApp( navigatorKey: globalKey, debugShowCheckedModeBanner: false, @@ -147,7 +146,6 @@ void runRemoteScreen(Map argument) async { void runFileTransferScreen(Map argument) async { await initEnv(kAppTypeDesktopFileTransfer); - await restoreWindowPosition(WindowType.FileTransfer, windowId: windowId); runApp( GetMaterialApp( navigatorKey: globalKey, @@ -173,7 +171,6 @@ void runFileTransferScreen(Map argument) async { void runPortForwardScreen(Map argument) async { await initEnv(kAppTypeDesktopPortForward); - await restoreWindowPosition(WindowType.PortForward, windowId: windowId); runApp( GetMaterialApp( navigatorKey: globalKey, diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml index f77fe9894..baa921339 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: 318ebd0a70cc5868911591c04f84bf1541f1bf4e + ref: 541f05f766c3f72984ff40b70dd3c7d061f2ce61 freezed_annotation: ^2.0.3 tray_manager: git: