tmp commit

Signed-off-by: dignow <linlong1265@gmail.com>
This commit is contained in:
dignow
2023-08-04 01:41:36 +08:00
parent e12d0ef4aa
commit 53e87352da
7 changed files with 30 additions and 7 deletions

View File

@@ -28,7 +28,7 @@ import '../widgets/tabbar_widget.dart';
final SimpleWrapper<bool> _firstEnterImage = SimpleWrapper(false);
final Map<String, bool> noCloseSessionOnDispose = {};
final Map<String, bool> closeSessionOnDispose = {};
class RemotePage extends StatefulWidget {
RemotePage({
@@ -203,7 +203,7 @@ class _RemotePageState extends State<RemotePage>
@override
Future<void> dispose() async {
final closeSession = noCloseSessionOnDispose.remove(widget.id) ?? false;
final closeSession = closeSessionOnDispose.remove(widget.id) ?? true;
// https://github.com/flutter/flutter/issues/64935
super.dispose();

View File

@@ -147,7 +147,7 @@ class _ConnectionTabPageState extends State<ConnectionTabPage> {
.join(';');
} else if (call.method == kWindowEventCloseForSeparateWindow) {
final peerId = call.arguments;
noCloseSessionOnDispose[peerId] = true;
closeSessionOnDispose[peerId] = false;
tabController.closeBy(peerId);
}
_update_remote_count();

View File

@@ -1702,6 +1702,10 @@ class FFI {
});
// every instance will bind a stream
this.id = id;
if (isSessionAdded) {
bind.sessionHandlePeerInfo(sessionId: sessionId);
}
}
/// Login with [password], choose if the client should [remember] it.

View File

@@ -44,7 +44,7 @@ class RustDeskMultiWindowManager {
final List<int> _portForwardWindows = List.empty(growable: true);
separateWindows() async {
for (final windowId in _remoteDesktopWindows) {
for (final windowId in _remoteDesktopWindows.toList()) {
final String sessionIdList = await DesktopMultiWindow.invokeMethod(
windowId, kWindowEventGetSessionIdList, null);
final idList = sessionIdList.split(';');
@@ -56,7 +56,7 @@ class RustDeskMultiWindowManager {
var params = {
'type': WindowType.RemoteDesktop.index,
'id': peerSession[0],
'sessionId': peerSession[1],
'session_id': peerSession[1],
};
await _newSession(
true,