Doesn't unquote double-quotes from desktop files
Bug #1228387 reported by
Loïc Minier
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Application Launcher |
Fix Released
|
Undecided
|
Ted Gould | ||
upstart-app-launch (Ubuntu) |
Fix Released
|
High
|
Ted Gould |
Bug Description
Hi,
Testing the fix for bug #1228125, I can confirm that trying to play "a b/c d.mp3" a single argument now gets passed to qmlscene instead of multiple ones, but it's still double-quoted:
/usr/lib/
so music-app tries to open a file starting and ending with double-quotes...
Cheers,
Related branches
lp:~ted/ubuntu-app-launch/lp1228387
- PS Jenkins bot (community): Approve (continuous-integration)
- Loïc Minier: Approve
-
Diff: 749 lines (+340/-126)12 files modifiedCMakeLists.txt (+10/-1)
application-click.conf.in (+13/-28)
application-legacy.conf.in (+15/-13)
application.conf.in (+1/-0)
click-exec.c (+25/-49)
desktop-exec.c (+36/-16)
desktop-single.c (+1/-1)
exec-line-exec.c (+84/-0)
helpers.c (+131/-11)
helpers.h (+4/-2)
libupstart-app-launch/upstart-app-launch.c (+5/-0)
zg-report-app.c (+15/-5)
Changed in upstart-app-launch (Ubuntu): | |
importance: | Undecided → High |
assignee: | nobody → Ted Gould (ted) |
Changed in upstart-app-launch: | |
assignee: | nobody → Ted Gould (ted) |
Changed in upstart-app-launch: | |
status: | New → In Progress |
Changed in upstart-app-launch: | |
status: | Fix Committed → Fix Released |
Changed in upstart-app-launch (Ubuntu): | |
status: | New → In Progress |
To post a comment you must log in.
Changing /usr/share/ upstart/ sessions/ application- legacy. override to run things within sh -c fixes it:
exec sh -c "$APP_EXEC --desktop_ file_hint= /usr/share/ application
exec sh -c "aa-exec -p '$APP_EXEC_POLICY' -- $APP_EXEC"
script
if [ -z $APP_EXEC_POLICY ]; then
s/$APP_ID.desktop"
else
fi
end script
And I can launch music-app and it plays files again, and I also tried with a file with spaces and single quotes: arm-linux- gnueabihf/ qt5/bin/ qmlscene /usr/share/ music-app/ music-app. qml --file= /home/phablet/ Music/29. 07.2013 - 19:00 - L'Esprit de Mai.mp3 --desktop_ file_hint= /usr/share/ applications/ music-app. desktop
phablet 4795 3.7 3.6 348472 70508 ? Tl 21:13 0:05 \_ /usr/lib/
and it worked fine.
Or more abruptly with eval:
eval exec $APP_EXEC --desktop_ file_hint= /usr/share/ applications/
eval exec aa-exec -p '$APP_EXEC_POLICY' -- $APP_EXEC
script
if [ -z $APP_EXEC_POLICY ]; then
$APP_ID.desktop
else
fi
end script
but I'm not happy with either of these as e.g. APP_EXEC_POLICY would require quoting before it gets unquoted by eval or sh -c...