Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> --- hw/xfree86/os-support/solaris/sun_init.c | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/hw/xfree86/os-support/solaris/sun_init.c b/hw/xfree86/os-support/solaris/sun_init.c index d8c897d..800fc1c 100644 --- a/hw/xfree86/os-support/solaris/sun_init.c +++ b/hw/xfree86/os-support/solaris/sun_init.c @@ -186,6 +186,11 @@ xf86OpenConsole(void) xf86Info.vtno = VTnum; from = X_CMDLINE; } + else if (xf86Info.ShareVTs) + { + xf86Info.vtno = vtinfo.v_active; + from = X_CMDLINE; + } else { if ((ioctl(fd, VT_OPENQRY, &xf86Info.vtno) < 0) || @@ -217,6 +222,9 @@ OPENCONSOLE: chown(consoleDev, getuid(), getgid()); #ifdef HAS_USL_VTS + if (xf86Info.ShareVTs) + return; + if (vtEnabled) { /* @@ -261,12 +269,13 @@ OPENCONSOLE: else /* serverGeneration != 1 */ { #ifdef HAS_USL_VTS - if (vtEnabled) + if (vtEnabled && !xf86Info.ShareVTs) { /* * Now re-get the VT */ - switch_to(xf86Info.vtno, "xf86OpenConsole"); + if (xf86Info.autoVTSwitch) + switch_to(xf86Info.vtno, "xf86OpenConsole"); #ifdef VT_SET_CONSUSER /* added in snv_139 */ if (strcmp(display, "0") == 0) @@ -355,7 +364,8 @@ xf86CloseConsole(void) } /* Activate the VT that X was started on */ - switch_to(xf86StartVT, "xf86CloseConsole"); + if (xf86Info.autoVTSwitch) + switch_to(xf86StartVT, "xf86CloseConsole"); } #endif /* HAS_USL_VTS */ -- 1.7.3.2 _______________________________________________ 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