From 51325fa976d021fb35ac944baef0b91450e9d5f8 Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Fri, 5 Jun 2015 04:40:21 +0200 Subject: finally enable the blacklist parser Change-Id: I8346872a3e5bc7443524e5039f66eea0d3d381cd Reviewed-on: https://gerrit.libreoffice.org/16335 Tested-by: Jenkins Reviewed-by: Markus Mohrhard (cherry picked from commit 0f5b7dfea974c21b48843c3cbf7fdf344ad54a3a) --- vcl/opengl/win/WinDeviceInfo.cxx | 26 ++++++++++++++++++++++++++ vcl/opengl/win/blocklist_parser.hxx | 1 + 2 files changed, 27 insertions(+) (limited to 'vcl') 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 #include #include @@ -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& rDriverList); void parse(); -- cgit v1.2.3