From f7f4cbb781257e192fccd74d65b1049ec9e6edf0 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Fri, 18 May 2012 16:55:23 -0400 Subject: [PATCH] Smarter windows logic for finding resolver executable --- src/libtomahawk/utils/TomahawkUtils.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/utils/TomahawkUtils.cpp b/src/libtomahawk/utils/TomahawkUtils.cpp index 3099cd170..0576994da 100644 --- a/src/libtomahawk/utils/TomahawkUtils.cpp +++ b/src/libtomahawk/utils/TomahawkUtils.cpp @@ -889,8 +889,15 @@ extractBinaryResolver( const QString& zipFilename, QObject* receiver ) if ( resolverId.isEmpty() ) return; - const QString resolverDir = extractScriptPayload( zipFilename, resolverId ); - QMetaObject::invokeMethod(receiver, "installSucceeded", Qt::DirectConnection, Q_ARG( QString, path ) ); + const QDir resolverPath( extractScriptPayload( zipFilename, resolverId ) ) + const QStringList files = resolverPath.entryList( QStringList() << "*.exe", QDir::Files ); + qDebug() << "Found executables in unzipped binary resolver dir:" << files; + Q_ASSERT( files.size() == 1 ); + if ( files.size() < 1 ) + return; + + const QString resolverToUse = resolverPath.absoluteFilePath( files.first() ); + QMetaObject::invokeMethod(receiver, "installSucceeded", Qt::DirectConnection, Q_ARG( QString, resolverToUse ) ); #endif