Fix layer paths resolving to matching CWD names #60109
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
In short, this addresses the issue outlined here: #60100
absoluteToRelativeUri
inQgsMapLayer::writeLayerXml
which was the cause of the original bugQgsPathResolver::writePath
to prevent this happening again. Now, ifabsoluteToRelativeUri
is called on the relative path, the function will return earlyrelativeToAbsoluteUri
.QgsPathResolver::readPath
already contains a guard that returns early when absolute path is supplied. Still, makes sense to remove the call, as it tries to callrelativeToAbsoluteUri
with an absolute path argument and was introduced in the same commit b9c1c2c as the redundant call causing issues above.I think that the PR should be backported to the latest version, as this is an annoying bug for Linux users (#60100, possibly #59282).