Skip to content

Windows path fixes#214

Merged
tedwaine merged 5 commits intoAcademySoftwareFoundation:developfrom
bdeluca:pr/windows-path-fixes
Feb 23, 2026
Merged

Windows path fixes#214
tedwaine merged 5 commits intoAcademySoftwareFoundation:developfrom
bdeluca:pr/windows-path-fixes

Conversation

@bdeluca
Copy link

@bdeluca bdeluca commented Feb 20, 2026

Linked issues

Fixes #213
Fixes #110

Summarize your change.

Windows Path fixes, issues with UNC, Drive letters, and XSTUDIO_PYTHON_PLUGIN_PATH

Describe the reason for the change.

Better windows support

Describe what you have tested and on which operating system.

lin/win

Add a list of changes, and note any that might need special attention during the review.

  • Fix drive-letter paths (C:\foo) producing malformed file URIs — normalise backslashes and prepend leading / to produce correct file:///C:/foo URIs
  • Add proper UNC path support (\server\share\path ↔ file://server/share/path) for network share drag-and-drop
  • Fix frame sequence scanning using backslashes that fail to match URI-decoded forward-slash paths
  • Use os.pathsep instead of hardcoded : for plugin path splitting in XSTUDIO_PYTHON_PLUGIN_PATH
  • Strip whitespace from plugin search paths
  • bugfix for a path bug in reverse_remap_file_paths was called on the original data rather than the already altered version

Use os.pathsep instead of hardcoded ":" to split
XSTUDIO_PYTHON_PLUGIN_PATH, since Windows uses ";" as
the path separator and ":" would break drive letters.

Signed-off-by: Ben De Luca <bdeluca@gmail.com>
Env var values can contain trailing whitespace depending on
how they are set (e.g. cmd.exe "set VAR=value && cmd"),
causing path lookups to fail.

Signed-off-by: Ben De Luca <bdeluca@gmail.com>
Use generic_string() instead of string() for directory entries.
path::string() returns OS-native separators (backslashes on Windows),
while the regex is built from URI-decoded paths that use forward
slashes. generic_string() always returns forward slashes, so the
regex matches correctly.

Signed-off-by: Ben De Luca <bdeluca@gmail.com>
Add proper UNC path support for Windows:
- posix_path_to_uri: Convert \\server\share\path to file://server/share/path
- uri_to_posix_path: Reconstruct \\server\share\path from file://server/share/path

This fixes drag-and-drop of image sequences from network shares on Windows.

Also fix a pre-existing bug where reverse_remap_file_path was called
on the original input parameter instead of the working copy, discarding
any transformations applied earlier in the function.

Signed-off-by: Ben De Luca <bdeluca@gmail.com>
On Windows, paths like R:\foo were passed directly to the URI builder
without normalising backslashes or prepending a leading slash, producing
invalid file URIs. Normalise to forward slashes and prepend / for
drive-letter paths so they produce correct file:///R:/foo URIs.

Signed-off-by: Ben De Luca <bdeluca@gmail.com>
@bdeluca bdeluca force-pushed the pr/windows-path-fixes branch from 2a2f6d1 to bc2d80b Compare February 20, 2026 10:22
@bdeluca bdeluca changed the title 213:windows path fixes Windows path fixes Feb 20, 2026
@tedwaine tedwaine merged commit 592bc58 into AcademySoftwareFoundation:develop Feb 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants