mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Merge pull request #2271 from Phoenix-/dev
Fix windows search empty paths
This commit is contained in:
commit
7819171d7e
1 changed files with 6 additions and 5 deletions
|
|
@ -47,21 +47,22 @@ namespace Flow.Launcher.Plugin.Explorer.Search.WindowsIndex
|
|||
while (await dataReader.ReadAsync(token))
|
||||
{
|
||||
token.ThrowIfCancellationRequested();
|
||||
if (dataReader.GetValue(0) == DBNull.Value || dataReader.GetValue(1) == DBNull.Value)
|
||||
if (dataReader.GetValue(0) is DBNull
|
||||
|| dataReader.GetValue(1) is not string rawFragmentPath
|
||||
|| string.Equals(rawFragmentPath, "file:", StringComparison.OrdinalIgnoreCase)
|
||||
|| dataReader.GetValue(2) is not string extension)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// # is URI syntax for the fragment component, need to be encoded so LocalPath returns complete path
|
||||
var encodedFragmentPath = dataReader
|
||||
.GetString(1)
|
||||
.Replace("#", "%23", StringComparison.OrdinalIgnoreCase);
|
||||
var encodedFragmentPath = rawFragmentPath.Replace("#", "%23", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
var path = new Uri(encodedFragmentPath).LocalPath;
|
||||
|
||||
yield return new SearchResult
|
||||
{
|
||||
FullPath = path,
|
||||
Type = dataReader.GetString(2) == "Directory" ? ResultType.Folder : ResultType.File,
|
||||
Type = string.Equals(extension, "Directory", StringComparison.Ordinal) ? ResultType.Folder : ResultType.File,
|
||||
WindowsIndexed = true
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue