** Changed in: unity8 (Ubuntu)
   Importance: Undecided => Medium

** Changed in: unity8 (Ubuntu)
     Assignee: (unassigned) => Michael Zanetti (mzanetti)

** No longer affects: unity8

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity-scopes-shell in
Ubuntu.
https://bugs.launchpad.net/bugs/1237829

Title:
  QQuickImageProvider's uri escaping can break image://albumart uris

Status in unity-scopes-shell package in Ubuntu:
  Fix Released
Status in unity8 package in Ubuntu:
  Fix Released

Bug description:
  While implementing https://code.launchpad.net/~unity-team/unity8
  /albumart-provider/+merge/189923 we observed an undesired behavior of
  QML/QQuickImageProvider which can break albumart uris that contain '/'
  as part of the string (e.g. "AC/DC" for the artist).

  The code we implemented in iconutils.cpp uses
  QUrl::toPercentEncoding() to encode album and artist separately and
  then return "image://albumart/<encodedartist>/<encodedalbum>" uri to
  the shell (e.g "image://albumart/AC%2FDC/FooAlbum"). However, when
  AlbumArtProvider receives it in requestImage(..), it's all decoded
  ("AC/DC/FooAlbum"), even though a quick investigation showed that the
  string passed to requestImage by Qt is result of
  url.toString(QUrl::RemoveScheme | QUrl::RemoveAuthority).mid(1), which
  doesn't touch the content. So, it seems like Qt decodes it already
  somewhere else. We should determine if this is a bug in Qt (and we can
  fix it?), or if we need a different approach / workaround for passing
  artist/album (such as using an uncommon character to separate album
  and artist, and not rely on encoding).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unity-scopes-shell/+bug/1237829/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to