Fix crash when exporting multiple channels to drive root (#1399)

This commit is contained in:
Oleksii Holub
2025-06-16 20:38:10 +03:00
committed by GitHub
parent cc92b2cbe6
commit d071459a5b

View File

@@ -60,7 +60,7 @@ public class DialogManager : IDisposable
}
);
return file?.Path.LocalPath;
return file?.TryGetLocalPath() ?? file?.Path.ToString();
}
public async Task<string?> PromptDirectoryPathAsync(string defaultDirPath = "")
@@ -69,19 +69,21 @@ public class DialogManager : IDisposable
Application.Current?.ApplicationLifetime?.TryGetTopLevel()
?? throw new ApplicationException("Could not find the top-level visual element.");
var startLocation = await topLevel.StorageProvider.TryGetFolderFromPathAsync(
defaultDirPath
);
var folderPickResult = await topLevel.StorageProvider.OpenFolderPickerAsync(
var result = await topLevel.StorageProvider.OpenFolderPickerAsync(
new FolderPickerOpenOptions
{
AllowMultiple = false,
SuggestedStartLocation = startLocation,
SuggestedStartLocation = await topLevel.StorageProvider.TryGetFolderFromPathAsync(
defaultDirPath
),
}
);
return folderPickResult.FirstOrDefault()?.Path.LocalPath;
var directory = result.FirstOrDefault();
if (directory is null)
return null;
return directory.TryGetLocalPath() ?? directory.Path.ToString();
}
public void Dispose() => _dialogLock.Dispose();