When X11 is unavailable, default to a headless display.
Bug 20104157
Change-Id: Idc6cbadc69921b3fa5c299ffe8ad4d2442d0478f
Reviewed-on: https://swiftshader-review.googlesource.com/2901
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Main/libX11.cpp b/src/Main/libX11.cpp
index ebd76ff..9f6a56e 100644
--- a/src/Main/libX11.cpp
+++ b/src/Main/libX11.cpp
@@ -31,6 +31,11 @@
LibX11exports *LibX11::operator->()
{
+ return loadExports();
+}
+
+LibX11exports *LibX11::loadExports()
+{
static void *libX11 = nullptr;
static void *libXext = nullptr;
static LibX11exports *libX11exports = nullptr;
@@ -38,8 +43,12 @@
if(!libX11)
{
libX11 = loadLibrary("libX11.so");
- libXext = loadLibrary("libXext.so");
- libX11exports = new LibX11exports(libX11, libXext);
+
+ if(libX11)
+ {
+ libXext = loadLibrary("libXext.so");
+ libX11exports = new LibX11exports(libX11, libXext);
+ }
}
return libX11exports;