diff options
| -rw-r--r-- | Makefile.am | 1 | ||||
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | docs/man/sesman.ini.5 | 10 | ||||
| -rw-r--r-- | docs/man/xrdp.ini.5 | 5 | ||||
| -rw-r--r-- | xrdp/xrdp_mm.c | 17 |
5 files changed, 20 insertions, 15 deletions
diff --git a/Makefile.am b/Makefile.am index 8b7580bd..4b12bd57 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,6 +23,7 @@ RFXCODECDIR = endif SUBDIRS = \ + libpainter \ common \ vnc \ rdp \ diff --git a/configure.ac b/configure.ac index 40ed06d1..fea0e4cb 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ AC_C_CONST AC_PROG_LIBTOOL PKG_PROG_PKG_CONFIG -AC_CONFIG_SUBDIRS([librfxcodec]) +AC_CONFIG_SUBDIRS([libpainter librfxcodec]) # Use silent rules by default if supported by Automake m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) diff --git a/docs/man/sesman.ini.5 b/docs/man/sesman.ini.5 index af9b35ab..9003f82e 100644 --- a/docs/man/sesman.ini.5 +++ b/docs/man/sesman.ini.5 @@ -196,12 +196,10 @@ Following parameters can be used in the \fB[X11rdp]\fR, \fB[Xvnc]\fR and \fB[Xorg]\fR sections. .TP -\fBparam0\fR=\fIfilename\fR -Path to the X11 server executable - -.TP -\fBparam\fR\fIN\fR=\fIstring\fR -Nth command line argument +\fBparam\fR=\fIstring\fR +Multiple \fIparam\fR lines are supported. This first line specifies the +path to the X11 server executable. Following lines specify command line +arguments passed to the X11 server. .SH "CHANSRV" Following parameters can be used in the \fB[Chansrv]\fR section. diff --git a/docs/man/xrdp.ini.5 b/docs/man/xrdp.ini.5 index 0e13d405..55299d0c 100644 --- a/docs/man/xrdp.ini.5 +++ b/docs/man/xrdp.ini.5 @@ -298,8 +298,9 @@ depth of the client. Only Xvnc and X11rdp use that setting. Xorg runs at \fI24\fR bpp. .TP -\fBcode\fR=\fI<number>\fR|\fI\-1\fR -Specifies the session type, the default, \fI\0\fR, is Xvnc, \fI\10\fR, is X11rdp, and \fI\20\fR, uses Xorg driver mode. +\fBcode\fR=\fI<number>\fR|\fI0\fR +Specifies the session type. The default, \fI0\fR, is Xvnc, \fI10\fR is +X11rdp, and \fI20\fR is Xorg with xorgxrdp modules. .SH "EXAMPLES" This is an example \fBxrdp.ini\fR: diff --git a/xrdp/xrdp_mm.c b/xrdp/xrdp_mm.c index 07c69327..bb6bc5d8 100644 --- a/xrdp/xrdp_mm.c +++ b/xrdp/xrdp_mm.c @@ -229,14 +229,19 @@ xrdp_mm_send_login(struct xrdp_mm *self) out_uint16_be(s, self->wm->screen->width); out_uint16_be(s, self->wm->screen->height); - if (xserverbpp > 0) + /* select and send X server bpp */ + if (xserverbpp == 0) { - out_uint16_be(s, xserverbpp); - } - else - { - out_uint16_be(s, self->wm->screen->bpp); + if (self->code == 20) + { + xserverbpp = 24; /* xorgxrdp is always at 24 bpp */ + } + else + { + xserverbpp = self->wm->screen->bpp; /* use client's bpp */ + } } + out_uint16_be(s, xserverbpp); /* send domain */ if(self->wm->client_info->domain[0]!='_') |
