diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-06-05 04:40:21 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-06-17 12:48:48 +0000 |
commit | 0f5b7dfea974c21b48843c3cbf7fdf344ad54a3a (patch) | |
tree | bdccff3bc821c39eadad6a328aef469c0ace5cc9 /vcl | |
parent | 0e717b13837e4494fb3be72920b50153a7b06613 (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>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/opengl/win/WinDeviceInfo.cxx | 26 | ||||
-rw-r--r-- | vcl/opengl/win/blocklist_parser.hxx | 1 |
2 files changed, 27 insertions, 0 deletions
diff --git a/vcl/opengl/win/WinDeviceInfo.cxx b/vcl/opengl/win/WinDeviceInfo.cxx index 7d5398caf933..c2022418800d 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> @@ -886,8 +888,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(); |