D27371: Fix error of Wikipedia entering in an infinite recursion of page loading

Pedro Gomes noreply at phabricator.kde.org
Thu Feb 13 14:40:03 GMT 2020


pgomes created this revision.
pgomes created this object with edit policy "Administrators".
pgomes added a project: Amarok.
Herald added subscribers: amarok-devel, Amarok.
Herald removed a project: Amarok.
pgomes requested review of this revision.

REVISION SUMMARY
  Wikipedia article would enter in the following loop when loading any article:
  
  1. WikipediaEngine loads article from Wikipedia and format it
  2. communicate page is ready to QML with PageChanged signal
  3. QML script loads html via content.loadHtml; this triggers a naviagateRequest signal
  4. same QML script captures the signal, and evokes WikipediaEngine.setUrl (passing a data-scheme URL), restarting the loop
  
  The patch does the following
  
  - fix the loop by only handling naviagateRequest signals that were caused by clicking in a link (LinkClickedNavigation). The one that was causing the issue (signaled by loadHtml) is TypedNavigation
  - click to reload button invokes reloadWikipedia(); before it was only reloading the data-schemed URL that was being displayed
  - remove the deprecated "srredirects" parameter from the GET query

REPOSITORY
  R181 Amarok

REVISION DETAIL
  https://phabricator.kde.org/D27371

AFFECTED FILES
  src/context/applets/wikipedia/package/contents/ui/main.qml
  src/context/applets/wikipedia/plugin/WikipediaEngine.cpp
  src/context/applets/wikipedia/plugin/WikipediaEngine.h

To: pgomes
Cc: #amarok, amarok-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20200213/88e73388/attachment.html>


More information about the Amarok-devel mailing list