summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-06-05 04:40:21 +0200
committerAshod Nakashian <ashod.nakashian@collabora.co.uk>2016-02-06 09:34:46 -0500
commit51325fa976d021fb35ac944baef0b91450e9d5f8 (patch)
tree8de8916089729d5c705d2ef8e20a172f6c1eea6d /vcl
parent33c00a6666ea929688cce5a0ea3203d8f52e04c1 (diff)
finally enable the blacklist parser
Change-Id: I8346872a3e5bc7443524e5039f66eea0d3d381cd Reviewed-on: https://gerrit.libreoffice.org/16335 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit 0f5b7dfea974c21b48843c3cbf7fdf344ad54a3a)
Diffstat (limited to 'vcl')
-rw-r--r--vcl/opengl/win/WinDeviceInfo.cxx26
-rw-r--r--vcl/opengl/win/blocklist_parser.hxx1
2 files changed, 27 insertions, 0 deletions
diff --git a/vcl/opengl/win/WinDeviceInfo.cxx b/vcl/opengl/win/WinDeviceInfo.cxx
index f180c22cd765..7bed4b196ecd 100644
--- a/vcl/opengl/win/WinDeviceInfo.cxx
+++ b/vcl/opengl/win/WinDeviceInfo.cxx
@@ -9,6 +9,8 @@
#include "opengl/win/WinDeviceInfo.hxx"
+#include "blocklist_parser.hxx"
+
#include <windows.h>
#include <setupapi.h>
#include <algorithm>
@@ -917,8 +919,32 @@ OUString WinOpenGLDeviceInfo::GetDeviceVendor(wgl::DeviceVendor id)
return *mpDeviceVendors[id];
}
+namespace {
+
+
+OUString getBlacklistFile()
+{
+ OUString url("${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE("bootstrap") ":UserInstallation}/user/config/opengl_blacklist_windows.xml");
+ rtl::Bootstrap::expandMacros(url);
+
+ return url;
+}
+
+
+}
+
void WinOpenGLDeviceInfo::FillBlacklist()
{
+ OUString aURL = getBlacklistFile();
+ WinBlocklistParser aParser(aURL, maDriverInfo);
+ try {
+ aParser.parse();
+ }
+ catch (...)
+ {
+ SAL_WARN("vcl.opengl.win", "error parsing blacklist");
+ maDriverInfo.clear();
+ }
}
diff --git a/vcl/opengl/win/blocklist_parser.hxx b/vcl/opengl/win/blocklist_parser.hxx
index c34af0ad3403..6f0142b84d8f 100644
--- a/vcl/opengl/win/blocklist_parser.hxx
+++ b/vcl/opengl/win/blocklist_parser.hxx
@@ -19,6 +19,7 @@ class InvalidFileException
class WinBlocklistParser
{
+public:
WinBlocklistParser(const OUString& rURL, std::vector<wgl::DriverInfo>& rDriverList);
void parse();