diff --git a/flutter/lib/desktop/pages/connection_tab_page.dart b/flutter/lib/desktop/pages/connection_tab_page.dart index 92a3938f5..8de2d84d0 100644 --- a/flutter/lib/desktop/pages/connection_tab_page.dart +++ b/flutter/lib/desktop/pages/connection_tab_page.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'dart:math'; +import 'package:desktop_multi_window/desktop_multi_window.dart'; import 'package:flutter/material.dart'; import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/consts.dart'; @@ -114,7 +115,11 @@ class _ConnectionTabPageState extends State tabController.value = TabController( length: connectionIds.length, vsync: this, initialIndex: initialIndex); if (connectionIds.length == 0) { - windowManager.close(); + WindowController.fromWindowId(windowId()).close(); } } + + int windowId() { + return widget.params["windowId"]; + } } diff --git a/flutter/lib/desktop/pages/file_manager_tab_page.dart b/flutter/lib/desktop/pages/file_manager_tab_page.dart index c4888f37b..723975d62 100644 --- a/flutter/lib/desktop/pages/file_manager_tab_page.dart +++ b/flutter/lib/desktop/pages/file_manager_tab_page.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'dart:math'; +import 'package:desktop_multi_window/desktop_multi_window.dart'; import 'package:flutter/material.dart'; import 'package:flutter_hbb/common.dart'; import 'package:flutter_hbb/desktop/pages/file_manager_page.dart'; @@ -114,7 +115,11 @@ class _FileManagerTabPageState extends State tabController.value = TabController( length: connectionIds.length, initialIndex: initialIndex, vsync: this); if (connectionIds.length == 0) { - windowManager.close(); + WindowController.fromWindowId(windowId()).close(); } } + + int windowId() { + return widget.params["windowId"]; + } } diff --git a/flutter/lib/main.dart b/flutter/lib/main.dart index b11ccb628..932da4f30 100644 --- a/flutter/lib/main.dart +++ b/flutter/lib/main.dart @@ -36,6 +36,7 @@ Future main(List args) async { ? Map() : jsonDecode(args[2]) as Map; int type = argument['type'] ?? -1; + argument['windowId'] = windowId; WindowType wType = type.windowType; switch (wType) { case WindowType.RemoteDesktop: