Keep those in the server only, not the environment. And only override the build-in ones when they've been set by main.
Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> --- src/environment.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/environment.cpp b/src/environment.cpp index b041236..01b2148 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -28,7 +28,6 @@ #include "xorg/gtest/xorg-gtest-environment.h" #include "xorg/gtest/xorg-gtest-process.h" #include "xorg/gtest/xorg-gtest-xserver.h" -#include "defines.h" #include <sys/types.h> #include <unistd.h> @@ -44,11 +43,8 @@ #include <X11/Xlib.h> struct xorg::testing::Environment::Private { - Private() - : path_to_conf(DUMMY_CONF_PATH), path_to_log_file(DEFAULT_XORG_LOGFILE), - path_to_server(DEFAULT_XORG_SERVER), display(DEFAULT_DISPLAY) { + Private() : display(-1) { } - std::string path_to_conf; std::string path_to_log_file; std::string path_to_server; @@ -103,15 +99,23 @@ int xorg::testing::Environment::display() const } void xorg::testing::Environment::SetUp() { + unsigned int display_used; static char display_string[6]; snprintf(display_string, 6, ":%d", d_->display); - d_->server.SetDisplayNumber(d_->display); - d_->server.SetLogfilePath(d_->path_to_log_file); - d_->server.SetConfigPath(d_->path_to_conf); - d_->server.Start(d_->path_to_server); + if (d_->display >= 0) + d_->server.SetDisplayNumber(d_->display); + if (d_->path_to_log_file.length()) + d_->server.SetLogfilePath(d_->path_to_log_file); + if (d_->path_to_conf.length()) + d_->server.SetConfigPath(d_->path_to_conf); + if (d_->path_to_server.length()) + display_used = d_->server.Start(d_->path_to_server); + else + display_used = d_->server.Start(); d_->server.WaitForConnections(); + snprintf(display_string, 6, ":%d", display_used); Process::SetEnv("DISPLAY", display_string, true); } -- 1.7.10.4 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel