diff --git a/src/detection/displayserver/linux/displayserver_linux.c b/src/detection/displayserver/linux/displayserver_linux.c index 13ffcf5e6..3d6c76402 100644 --- a/src/detection/displayserver/linux/displayserver_linux.c +++ b/src/detection/displayserver/linux/displayserver_linux.c @@ -1,4 +1,5 @@ #include "displayserver_linux.h" +#include "common/io/io.h" #include "util/stringUtils.h" #include @@ -81,21 +82,25 @@ void ffConnectDisplayServerImpl(FFDisplayServerResult* ds) //This method can't detect the name of our WM / DE ffdsConnectWayland(ds); - //Try the x11 libs, from most feature rich to least. - //We use the display list to detect if a connection is needed. - //They respect wmProtocolName, and only detect display if it is set. - if(ds->displays.length == 0) + { + //Try the x11 libs, from most feature rich to least. + //We use the display list to detect if a connection is needed. + //They respect wmProtocolName, and only detect display if it is set. + + FF_SUPPRESS_IO(); // #505 + ffdsConnectXcbRandr(ds); - if(ds->displays.length == 0) - ffdsConnectXrandr(ds); + if(ds->displays.length == 0) + ffdsConnectXrandr(ds); - if(ds->displays.length == 0) - ffdsConnectXcb(ds); + if(ds->displays.length == 0) + ffdsConnectXcb(ds); - if(ds->displays.length == 0) - ffdsConnectXlib(ds); + if(ds->displays.length == 0) + ffdsConnectXlib(ds); + } } //This display detection method is display server independent.