-
Type:
Bug
-
Status: Reported
-
Priority:
Not Evaluated
-
Resolution: Unresolved
-
Affects Version/s: 3.1.1
-
Fix Version/s: None
-
Component/s: General
-
Labels:None
-
Environment:Ubuntu 18.04, amd64
-
Platform/s:
Since the changes in QTIFW-1269 (specifically, https://codereview.qt-project.org/c/installer-framework/installer-framework/+/250549), Qt still installs its icons to the wrong folder if XDG_DATA_HOME is specified to direct it to a particular location.
e.g. with XDG_DATA_HOME=/usr/local/share (for a system-wide install), it installs the icons into
/usr/local/share/hicolor, rather than /usr/local/share/icons/hicolor.
This is because installiconsoperation.cpp defaults XDG_DATA_HOME to .local/share/icons, rather than to .local/share, and then does not append the "/icons" portion later. So it gets omitted entirely in the case of a user-specified XDG_DATA_HOME. createdesktopentryoperation.cpp does it correctly, with the XDG_DATA_HOME just being .local/share, and adding the "applications" part itself with
{directory = QDir(*it).absoluteFilePath(QLatin1String("applications"));}the icons case has some code tryint to test whether it is 1/2/3 entries from the end, and appending icons otherwise, but this is broken since the linked gerrit change, as there are no longer 3 qt-inserted paths. I think it should just look like createdesktopentryoperation.cpp now.