diff options
author | Marc-André Moreau <marcandre.moreau@gmail.com> | 2011-06-21 18:17:58 +0400 |
---|---|---|
committer | Marc-André Moreau <marcandre.moreau@gmail.com> | 2011-06-21 18:17:58 +0400 |
commit | 16b6bbc583891f0eba269013696dd8196cceb602 (patch) | |
tree | 547ad76dd0ba52678a79fd69261963adbc97b9fa | |
parent | c7fb9392c1382f4bc2d00755662c45b42dcc9d19 (diff) | |
parent | 06814eabcf9d3fd24c8c68cfda6da8a118a640ae (diff) |
libfreerdp-rfx: Makefile.am update
-rw-r--r-- | Makefile.am | 9 | ||||
-rw-r--r-- | X11/xf_event.c | 3 | ||||
-rw-r--r-- | X11/xfreerdp.c | 6 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | docs/xfreerdp.1 | 73 | ||||
-rw-r--r-- | include/freerdp/rdpset.h | 1 | ||||
-rw-r--r-- | include/freerdp/utils/Makefile.am | 1 | ||||
-rw-r--r-- | libfreerdp-core/rdp.c | 12 | ||||
-rw-r--r-- | libfreerdp-gdi/color.c | 42 | ||||
-rw-r--r-- | libfreerdp-kbd/keyboard.h | 4 | ||||
-rw-r--r-- | libfreerdp-rfx/Makefile.am | 8 | ||||
-rw-r--r-- | libfreerdp-rfx/sse/Makefile.am | 2 | ||||
-rw-r--r-- | win/Makefile.am | 10 |
13 files changed, 131 insertions, 42 deletions
diff --git a/Makefile.am b/Makefile.am index 551d18b..daa2a61 100644 --- a/Makefile.am +++ b/Makefile.am @@ -43,14 +43,17 @@ SUBDIRS = $(REQUIRED_SUBDIRS) $(EXTRA_SUBDIRS) DIST_SUBDIRS = $(REQUIRED_SUBDIRS) $(OPTIONAL_SUBDIRS) EXTRA_DIST = autogen.sh build-aux indent-all.sh freerdp.spec \ - AUTHORS ChangeLog INSTALL NEWS README LICENSE + AUTHORS ChangeLog INSTALL NEWS README LICENSE .version pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = freerdp.pc ## Support version extraction from GIT tree -BUILT_SOURCES = $(top_srcdir)/.version -$(top_srcdir)/.version: +BUILT_SOURCES = .version +.version: echo $(VERSION) > $@-t && mv $@-t $@ + +# Arrange so that .tarball-version appears only in the distribution +# tarball, and never in a checked-out repository. dist-hook: echo $(VERSION) > $(distdir)/.tarball-version diff --git a/X11/xf_event.c b/X11/xf_event.c index 5991184..e81fc41 100644 --- a/X11/xf_event.c +++ b/X11/xf_event.c @@ -62,6 +62,9 @@ xf_handle_event_MotionNotify(xfInfo * xfi, XEvent * xevent) { if (xevent->xmotion.window == xfi->wnd) { + if (!xfi->settings->mouse_motion) + if ((xevent->xmotion.state & (Button1Mask | Button2Mask | Button3Mask)) == 0) + return 0; xfi->inst->rdp_send_input_mouse(xfi->inst, PTRFLAGS_MOVE, xevent->xmotion.x, xevent->xmotion.y); } diff --git a/X11/xfreerdp.c b/X11/xfreerdp.c index 315f5ef..1a11551 100644 --- a/X11/xfreerdp.c +++ b/X11/xfreerdp.c @@ -73,6 +73,7 @@ set_default_params(xfInfo * xfi) settings->desktop_save = 0; settings->performanceflags = PERF_DISABLE_WALLPAPER | PERF_DISABLE_FULLWINDOWDRAG | PERF_DISABLE_MENUANIMATIONS; + settings->mouse_motion = 1; settings->off_screen_bitmaps = 1; settings->polygon_ellipse_orders = 1; settings->triblt = 0; @@ -122,6 +123,7 @@ out_args(void) "\t-z: enable bulk compression\n" "\t--gdi: GDI rendering (sw or hw, for software or hardware)\n" "\t-x: performance flags (m, b or l for modem, broadband or lan)\n" + "\t-m: don't send mouse motion events\n" "\t-X: embed into another window with a given XID.\n" #ifndef DISABLE_TLS "\t--no-rdp: disable Standard RDP encryption\n" @@ -391,6 +393,10 @@ process_params(xfInfo * xfi, int argc, char ** argv, int * pindex) settings->performanceflags = PERF_FLAG_NONE; xfi->codec = XF_CODEC_REMOTEFX; } + else if (strcmp("-m", argv[*pindex]) == 0) + { + settings->mouse_motion = 0; + } else if (strcmp("--app", argv[*pindex]) == 0) { *pindex = *pindex + 1; diff --git a/configure.ac b/configure.ac index f3dcee4..6cf6e02 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(freerdp, m4_esyscmd([build-aux/git-version-gen .tarball-version]), +AC_INIT(freerdp, m4_esyscmd([build-aux/git-version-gen .version]), [freerdp-devel@lists.sourceforge.net]) AM_INIT_AUTOMAKE([1.11 dist-xz color-tests parallel-tests]) AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. diff --git a/docs/xfreerdp.1 b/docs/xfreerdp.1 index 09f630e..beab866 100644 --- a/docs/xfreerdp.1 +++ b/docs/xfreerdp.1 @@ -71,6 +71,9 @@ also enable the desktop wallpaper. Setting experience to m[odem] disables all (including themes). Experience can also be a hexidecimal number containing the flags. .TP +.BR "-m" +Do not send mouse motion events. +.TP .BR "-0" Attach to the admin console of the server. This is the default if no server license is available. @@ -161,6 +164,11 @@ Redirects file system devices on your client to the server. <subplugin> can be one of more of the following: .B +clientname:<name> +This option should only be used once. Specifies the <name> of the client +to be used for redirected devices. + +.B disk:<sharename>:<path> Redirect <path> to the server as shared folder \\\\tsclient\\<sharename>. @@ -227,6 +235,71 @@ server is running Windows 7 or Windows 2008 R2. <backend> can be "alsa" or automatically. Please read the FreeRDP Wiki for more information regarding Multimedia Redirection. +.SH "RETURN VALUES" +.PP +.IP "\fB0\fP" +Session terminated normally +.IP "\fB1\fP" +Disconnected by an administrative tool on the server +.IP "\fB2\fP" +Forced logoff by an administrative tool on the server +.IP "\fB3\fP" +Server idle limit timer has elapsed +.IP "\fB4\fP" +Server active limit timer has elapsed +.IP "\fB5\fP" +The session has been replaced +.IP "\fB6\fP" +The server ran out of memory +.IP "\fB7\fP" +The server denied the connection +.IP "\fB8\fP" +The server denied the connection for security reasons +.IP "\fB9\fP" +Connection denied due to insufficient user privileges +.IP "\fB10\fP" +The server requires fresh credentials +.IP "\fB11\fP" +Disconnect by an administrative tool on the server running the user's section + +.IP "\fB16\fP" +An internal licensing error has occurred +.IP "\fB17\fP" +No license server available +.IP "\fB18\fP" +No valid license available +.IP "\fB19\fP" +Invalid licensing message +.IP "\fB20\fP" +The Client Access License stored by the client has been modified +.IP "\fB21\fP" +Client license error +.IP "\fB22\fP" +Network error during licensing protocol +.IP "\fB23\fP" +The client prematurely ended the licensing protocol +.IP "\fB24\fP" +A licensing message was incorrectly encrypted +.IP "\fB25\fP" +The Client Access License stored by the client could not be upgraded or renewed +.IP "\fB26\fP" +The server is not licensed to accept remote connections + +.IP "\fB32\fP" +RDP protocol error set + +.IP "\fB128\fP" +Wrong parameters +.IP "\fB129\fP" +The client ran out of memory +.IP "\fB130\fP" +Connection terminated due to a protocol error +.IP "\fB131\fP" +Connection to remote host has failed + +.IP "\fB255\fP" +Unknown error + .PP .SH LINKS Main website of FreeRDP diff --git a/include/freerdp/rdpset.h b/include/freerdp/rdpset.h index 52f5540..298f6d7 100644 --- a/include/freerdp/rdpset.h +++ b/include/freerdp/rdpset.h @@ -82,6 +82,7 @@ struct rdp_set int off_screen_bitmaps; int triblt; int new_cursors; + int mouse_motion; int bulk_compression; int rfx_flags; /* 0 no remotefx */ int ui_decode_flags; diff --git a/include/freerdp/utils/Makefile.am b/include/freerdp/utils/Makefile.am index e9c0e42..eec4969 100644 --- a/include/freerdp/utils/Makefile.am +++ b/include/freerdp/utils/Makefile.am @@ -7,5 +7,6 @@ include_HEADERS = \ datablob.h \ memory.h \ semaphore.h \ + stream.h \ unicode.h \ wait_obj.h diff --git a/libfreerdp-core/rdp.c b/libfreerdp-core/rdp.c index dceb631..701fddf 100644 --- a/libfreerdp-core/rdp.c +++ b/libfreerdp-core/rdp.c @@ -997,7 +997,8 @@ process_color_pointer_common(rdpRdp * rdp, STREAM s, int bpp) y = MAX(y, 0); y = MIN(y, height - 1); cursor = ui_create_cursor(rdp->inst, x, y, width, height, mask, data, bpp); - ui_set_cursor(rdp->inst, cursor); + if (rdp->inst->settings->mouse_motion) + ui_set_cursor(rdp->inst, cursor); cache_put_cursor(rdp->cache, cache_idx, cursor); } @@ -1015,7 +1016,8 @@ process_cached_pointer_pdu(rdpRdp * rdp, STREAM s) uint16 cache_idx; in_uint16_le(s, cache_idx); - ui_set_cursor(rdp->inst, cache_get_cursor(rdp->cache, cache_idx)); + if (rdp->inst->settings->mouse_motion) + ui_set_cursor(rdp->inst, cache_get_cursor(rdp->cache, cache_idx)); } /* Process a system pointer PDU */ @@ -1028,11 +1030,13 @@ process_system_pointer_pdu(rdpRdp * rdp, STREAM s) switch (system_pointer_type) { case RDP_SYSPTR_NULL: - ui_set_null_cursor(rdp->inst); + if (rdp->inst->settings->mouse_motion) + ui_set_null_cursor(rdp->inst); break; case RDP_SYSPTR_DEFAULT: - ui_set_default_cursor(rdp->inst); + if (rdp->inst->settings->mouse_motion) + ui_set_default_cursor(rdp->inst); break; default: diff --git a/libfreerdp-gdi/color.c b/libfreerdp-gdi/color.c index 9cd2398..76f72e9 100644 --- a/libfreerdp-gdi/color.c +++ b/libfreerdp-gdi/color.c @@ -687,11 +687,8 @@ uint8* gdi_mono_image_convert(uint8* srcData, int width, int height, int srcBpp, uint8 redBg, greenBg, blueBg; uint8 redFg, greenFg, blueFg; - if(dstBpp == 16) - { - if(srcBpp == 8) - { - /* convert palette colors to 16-bit colors */ + switch (srcBpp) { + case 8: bgcolor &= 0xFF; redBg = clrconv->palette->entries[bgcolor].red; greenBg = clrconv->palette->entries[bgcolor].green; @@ -701,18 +698,24 @@ uint8* gdi_mono_image_convert(uint8* srcData, int width, int height, int srcBpp, redFg = clrconv->palette->entries[fgcolor].red; greenFg = clrconv->palette->entries[fgcolor].green; blueFg = clrconv->palette->entries[fgcolor].blue; + break; + case 16: + GetRGB16(redBg, greenBg, blueBg, bgcolor); + GetRGB16(redFg, greenFg, blueFg, fgcolor); + break; + case 15: + GetRGB15(redBg, greenBg, blueBg, bgcolor); + GetRGB15(redFg, greenFg, blueFg, fgcolor); + break; + default: + GetRGB32(redBg, greenBg, blueBg, bgcolor); + GetRGB32(redFg, greenFg, blueFg, fgcolor); + } - if(clrconv->rgb555) - { - bgcolor = RGB15(redBg, greenBg, blueBg); - fgcolor = RGB15(redFg, greenFg, blueFg); - } - else - { - bgcolor = RGB16(redBg, greenBg, blueBg); - fgcolor = RGB16(redFg, greenFg, blueFg); - } - } + if(dstBpp == 16) + { + /* GT: looks strange to me. Convert colors from RGB16 to RGB15 when + * srcBpp == dstBpp == 16? */ if(clrconv->rgb555) { if(srcBpp == 16) @@ -756,9 +759,6 @@ uint8* gdi_mono_image_convert(uint8* srcData, int width, int height, int srcBpp, } else if(dstBpp == 32) { - GetRGB32(redBg, greenBg, blueBg, bgcolor); - GetRGB32(redFg, greenFg, blueFg, fgcolor); - dstData = (uint8*) malloc(width * height * 4); dst32 = (uint32*) dstData; for(index = height; index > 0; index--) @@ -769,11 +769,11 @@ uint8* gdi_mono_image_convert(uint8* srcData, int width, int height, int srcBpp, { if((bitMask >> bitIndex) & 0x01) { - *dst32 = BGR32(redBg, greenBg, blueBg); + *dst32 = RGB32(redBg, greenBg, blueBg); } else { - *dst32 = BGR32(redFg, greenFg, blueFg); + *dst32 = RGB32(redFg, greenFg, blueFg); } dst32++; } diff --git a/libfreerdp-kbd/keyboard.h b/libfreerdp-kbd/keyboard.h index b485579..8ddc494 100644 --- a/libfreerdp-kbd/keyboard.h +++ b/libfreerdp-kbd/keyboard.h @@ -516,8 +516,8 @@ static const virtualKey virtualKeyboard[256 + 2] = { 0x34, 0, "VK_OEM_PERIOD" , "AB09" }, { 0x35, 0, "VK_OEM_2" , "AB10" }, { 0x29, 0, "VK_OEM_3" , "TLDE" }, - { 0x73, 0, "VK_ABNT_C1" , NULL }, - { 0x7E, 0, "VK_ABNT_C2" , NULL }, + { 0x73, 0, "VK_ABNT_C1" , "AB11" }, + { 0x7E, 0, "VK_ABNT_C2" , "I129" }, { 0x00, 0, "" , NULL }, { 0x00, 0, "" , NULL }, { 0x00, 0, "" , NULL }, diff --git a/libfreerdp-rfx/Makefile.am b/libfreerdp-rfx/Makefile.am index 17dcd52..908dd06 100644 --- a/libfreerdp-rfx/Makefile.am +++ b/libfreerdp-rfx/Makefile.am @@ -26,14 +26,14 @@ libfreerdp_rfx_la_LIBADD = if WITH_SSE SUBDIRS = sse -libfreerdp_rfx_la_CFLAGS += -I./sse -libfreerdp_rfx_la_LIBADD += ./sse/libfreerdp-rfx-sse.la +libfreerdp_rfx_la_CFLAGS += -I$(top_srcdir)/libfreerdp-rfx/sse +libfreerdp_rfx_la_LIBADD += sse/libfreerdp-rfx-sse.la endif if WITH_NEON SUBDIRS = neon -libfreerdp_rfx_la_CFLAGS += -I./neon -libfreerdp_rfx_la_LIBADD += ./neon/libfreerdp-rfx-neon.la +libfreerdp_rfx_la_CFLAGS += -I$(top_srcdir)/libfreerdp-rfx/neon +libfreerdp_rfx_la_LIBADD += neon/libfreerdp-rfx-neon.la endif # extra diff --git a/libfreerdp-rfx/sse/Makefile.am b/libfreerdp-rfx/sse/Makefile.am index 38bbf76..faa9796 100644 --- a/libfreerdp-rfx/sse/Makefile.am +++ b/libfreerdp-rfx/sse/Makefile.am @@ -14,7 +14,7 @@ endif libfreerdp_rfx_sse_la_CFLAGS = \ -I$(top_srcdir) \ -I$(top_srcdir)/include \ - -I.. + -I$(top_srcdir)/libfreerdp-rfx libfreerdp_rfx_sse_la_LDFLAGS = diff --git a/win/Makefile.am b/win/Makefile.am index 7925e7f..e446cd7 100644 --- a/win/Makefile.am +++ b/win/Makefile.am @@ -2,13 +2,11 @@ EXTRA_DIST = \ freerdp.sln \ - wfreerdp/wf_win.cpp \ wfreerdp/wf_event.h \ - wfreerdp/wf_win.h \ - wfreerdp/wf_color.h \ - wfreerdp/wf_event.cpp \ - wfreerdp/wfreerdp.cpp \ - wfreerdp/wf_color.cpp \ + wfreerdp/wf_window.h \ + wfreerdp/wf_window.c \ + wfreerdp/wf_event.c \ + wfreerdp/wfreerdp.c \ wfreerdp/wfreerdp.vcproj \ libfreerdp-chanman.vcproj \ libfreerdp-utils.vcproj \ |