From 0598ee304c9e6a98a0f3a34b039ff26176e3a403 Mon Sep 17 00:00:00 2001 From: Kingtous Date: Sat, 9 Jul 2022 13:04:22 +0800 Subject: [PATCH] fix: workaround for changing root disk on Windows[2/2] --- flutter/lib/models/file_model.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/flutter/lib/models/file_model.dart b/flutter/lib/models/file_model.dart index c3d44f4a9..7b2456585 100644 --- a/flutter/lib/models/file_model.dart +++ b/flutter/lib/models/file_model.dart @@ -254,7 +254,7 @@ class FileModel extends ChangeNotifier { final isWindows = isLocal ? _localOption.isWindows : _remoteOption.isWindows; // process /C:\ -> C:\ on Windows - if (currentIsWindows && path.length > 1 && path[0] == '/') { + if (isLocal ? _localOption.isWindows : _remoteOption.isWindows && path.length > 1 && path[0] == '/') { path = path.substring(1); if (path[path.length - 1] != '\\') { path = path + "\\"; @@ -279,10 +279,12 @@ class FileModel extends ChangeNotifier { } goToParentDirectory({bool? isLocal}) { - final currDir = isLocal != null ? isLocal ? currentLocalDir : currentRemoteDir : currentDir; - var parent = PathUtil.dirname(currDir.path, currentIsWindows); + isLocal = isLocal ?? _isLocal; + final isWindows = isLocal ? _localOption.isWindows : _remoteOption.isWindows; + final currDir = isLocal ? currentLocalDir : currentRemoteDir; + var parent = PathUtil.dirname(currDir.path, isWindows); // specially for C:\, D:\, goto '/' - if (parent == currDir.path && currentIsWindows) { + if (parent == currDir.path && isWindows) { openDirectory('/', isLocal: isLocal); return; }