summaryrefslogtreecommitdiff
path: root/vcl/opengl/win/WinDeviceInfo.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/opengl/win/WinDeviceInfo.cxx')
-rw-r--r--vcl/opengl/win/WinDeviceInfo.cxx26
1 files changed, 26 insertions, 0 deletions
diff --git a/vcl/opengl/win/WinDeviceInfo.cxx b/vcl/opengl/win/WinDeviceInfo.cxx
index 047935885ee6..670d3c250f12 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>
@@ -884,8 +886,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();
+ }
}