Review Request 127830: use QUrl::fromUserInput to construct sound url

Harald Sitter sitter at kde.org
Wed May 4 13:26:22 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127830/
-----------------------------------------------------------

Review request for KDE Frameworks and Martin Klapetek.


Bugs: 337276
    https://bugs.kde.org/show_bug.cgi?id=337276


Repository: knotifications


Description
-------

QUrl() would treats it as a parsable uri, but they aren't e.g. # in a uri
separates segments in a local file path it simply is a #.
This "accidentally" worked in Phonon < 4.9 as Phonon obtained string
representations in a way that would bypass internal QUrl checks for
fileyness and URI ambiguity. Since 4.9 Phonon expects scheme-less URLs to
be local files, but QUrl() would most of the time not do that since it
would honestly think the soundfilename is a random (i.e. not necessarily
local) uri.

To fix this use QUrl::fromUserInput which behaves exactly like what we
need to properly resolve relative names, urls, paths, full URIs.

This now works with input of the type:
- Oxygen-Sys-Special.ogg
- /usr/share/sounds/Oxygen-Sys-Special.ogg
- file:///usr/share/sounds/Oxygen-Sys-Special.ogg
- /usr/share/sounds/#KDE-Im-Cant-#Connect.ogg
- file:///usr/share/sounds/#KDE-Im-Cant-#Connect.ogg
- http://people.ubuntu.com/~apachelogger/sounds/sounds-3.5/KDE_Glass_Break.ogg
(yes, we can have http notifications!!!! https://xkcd.com/1172/)

CCBUG: 337276


Diffs
-----

  src/notifybyaudio.cpp 6ae63b8df8e7aa692e88b03ca7b7538c78101917 

Diff: https://git.reviewboard.kde.org/r/127830/diff/


Testing
-------

builds & test pass & I trust my testing in https://git.reviewboard.kde.org/r/127829/


Thanks,

Harald Sitter

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160504/df520990/attachment.html>


More information about the Kde-frameworks-devel mailing list