Desktop files having Terminal=true fail to launch because of corrupt Exec path
I'm on Gentoo, last night I updated my system. Whisker menu plugin was upgraded from 2.4.6 to 2.5.2. Desktop files having Terminal=true now fail to launch because of corrupt Exec path.
For example, I had a desktop entry like this in my ~/.local/share/applications:
[Desktop Entry] Name=Play Alesis drums Exec=docs/projects/dotfiles/configs/edrums/alesis_turbo.sh Terminal=true Type=Application Icon=audio-card Categories=Audio
Launching it from Whisker Menu resulted in the following error:
Failed to execute child Failed to execute child process "docs/projects/dotfileconfigs/edrums/alesis_turbo.sh" (No such file or directory)
Notice the path is corrupt ("dotfiles/" became "dotfile"). I changed the location to absolute location (Exec=/home/panther/docs/projects/dotfiles/configs/edrums/alesis_turbo.sh) and the error was:
Failed to execute child Failed to execute child process "/home/panther/docs/projects/dotfiles/nfigs/edrums/alesis_turbo.sh" (No such file or directory)
Again, the path was corrupt, this time a bit differently ("configs" became "nfigs").
I did a quick test with the Exec target being a script that would just echo foo>~/bar. With Terminal=true, it would fail to launch due to corrupt Exec path. With Terminal=false, it would work and there'd be ~/bar with foo in it. Using the .desktop files from xfce4-panel launcher still work normally.
Downgrading Whisker menu plugin back to 2.4.6 fixed the issue. No dependencies were downgraded, just the Whisker menu plugin package. My libxfce4ui version is 4.14.1.