From 1025e77d3ea71817b196baa40c94f278fad9dd76 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Mon, 18 Jan 2016 00:14:52 +0100 Subject: [PATCH] Process events while parsing potentially very long script responses --- src/libtomahawk/resolvers/ScriptAccount.cpp | 4 ++++ src/libtomahawk/resolvers/ScriptCommand_AllAlbums.cpp | 4 ++++ src/libtomahawk/resolvers/ScriptCommand_AllArtists.cpp | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/src/libtomahawk/resolvers/ScriptAccount.cpp b/src/libtomahawk/resolvers/ScriptAccount.cpp index dd577c12f..ef7fa847d 100644 --- a/src/libtomahawk/resolvers/ScriptAccount.cpp +++ b/src/libtomahawk/resolvers/ScriptAccount.cpp @@ -34,7 +34,9 @@ // TODO: #include "../Result.h" #include "../Track.h" + #include +#include using namespace Tomahawk; @@ -261,6 +263,8 @@ ScriptAccount::parseResultVariantList( const QVariantList& reslist ) foreach( const QVariant& rv, reslist ) { + QCoreApplication::processEvents(); + QVariantMap m = rv.toMap(); int duration = m.value( "duration", 0 ).toInt(); diff --git a/src/libtomahawk/resolvers/ScriptCommand_AllAlbums.cpp b/src/libtomahawk/resolvers/ScriptCommand_AllAlbums.cpp index 522ef8f8e..9d360f303 100644 --- a/src/libtomahawk/resolvers/ScriptCommand_AllAlbums.cpp +++ b/src/libtomahawk/resolvers/ScriptCommand_AllAlbums.cpp @@ -28,6 +28,8 @@ #include "ScriptJob.h" #include "ScriptCommand_AllArtists.h" +#include + using namespace Tomahawk; ScriptCommand_AllAlbums::ScriptCommand_AllAlbums( const Tomahawk::collection_ptr& collection, @@ -153,6 +155,8 @@ ScriptCommand_AllAlbums::parseAlbumVariantList( const QList< Tomahawk::artist_pt bool useArtistList = ( artists.length() > 1 ); for( int i = 0; i < reslist.length(); i++ ) { + QCoreApplication::processEvents(); + const QString val = reslist[ i ].toString(); if ( val.trimmed().isEmpty() ) continue; diff --git a/src/libtomahawk/resolvers/ScriptCommand_AllArtists.cpp b/src/libtomahawk/resolvers/ScriptCommand_AllArtists.cpp index 6b6a0930d..f9f8db20d 100644 --- a/src/libtomahawk/resolvers/ScriptCommand_AllArtists.cpp +++ b/src/libtomahawk/resolvers/ScriptCommand_AllArtists.cpp @@ -27,6 +27,8 @@ #include "utils/Logger.h" #include "../Typedefs.h" +#include + using namespace Tomahawk; ScriptCommand_AllArtists::ScriptCommand_AllArtists( const Tomahawk::collection_ptr& collection, @@ -112,6 +114,8 @@ ScriptCommand_AllArtists::parseArtistVariantList( const QVariantList& reslist ) foreach( const QVariant& rv, reslist ) { + QCoreApplication::processEvents(); + const QString val = rv.toString(); if ( val.trimmed().isEmpty() ) continue;