summaryrefslogtreecommitdiffstats
path: root/src/core/content_client_qt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/content_client_qt.cpp')
-rw-r--r--src/core/content_client_qt.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp
index 01e1fe383..1d4923c70 100644
--- a/src/core/content_client_qt.cpp
+++ b/src/core/content_client_qt.cpp
@@ -107,10 +107,19 @@ void AddPepperFlashFromSystem(std::vector<content::PepperPluginInfo>* plugins)
{
QStringList pluginPaths;
#if defined(Q_OS_WIN) && defined(Q_PROCESSOR_X86_32)
- QDir pluginDir("C:/Windows/SysWOW64/Macromed/Flash");
- pluginDir.setFilter(QDir::Files);
- QStringList nameFilters("pepflashplayer*.dll");
- pluginPaths << pluginDir.entryList(nameFilters);
+ QString winDir = QDir::fromNativeSeparators(qgetenv("WINDIR"));
+ if (winDir.isEmpty())
+ winDir = QString::fromLatin1("C:/Windows");
+
+ const QStringList pluginDirs = { winDir + "/SysWOW64/Macromed/Flash",
+ winDir + "/System32/Macromed/Flash" };
+ const QStringList nameFilters("pepflashplayer*.dll");
+ Q_FOREACH (const QString &dirPath, pluginDirs) {
+ QDir pluginDir(dirPath);
+ pluginDir.setFilter(QDir::Files);
+ Q_FOREACH (const QFileInfo &info, pluginDir.entryInfoList(nameFilters))
+ pluginPaths << info.absoluteFilePath();
+ }
#endif
#if defined(Q_OS_OSX)
pluginPaths << "/Library/Internet Plug-Ins/PepperFlashPlayer/PepperFlashPlayer.plugin"; // Mac OS X