From: Marc-André Moreau Date: Fri, 28 Jun 2013 16:50:24 +0000 (-0400) Subject: freerdp: merge with master X-Git-Tag: 1.1.0-beta+2013071101~6^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=863b51f93897134b8e4351c3a1b9ce9809a851df;p=platform%2Fupstream%2Ffreerdp.git freerdp: merge with master --- 863b51f93897134b8e4351c3a1b9ce9809a851df diff --cc CMakeLists.txt index edd2e0a,62dc88e..445e81f mode 100755,100644..100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt diff --cc client/X11/xf_graphics.c index 96fbf97,68ce159..8b185ce --- a/client/X11/xf_graphics.c +++ b/client/X11/xf_graphics.c @@@ -127,11 -128,13 +127,11 @@@ void xf_Bitmap_Decompress(rdpContext* c BYTE* dst; int yindex; int xindex; - xfInfo* xfi; BOOL status; RFX_MESSAGE* msg; - - xfi = ((xfContext*) context)->xfi; + xfContext* xfc = (xfContext*) context; - size = width * height * (bpp + 7) / 8; + size = width * height * ((bpp + 7) / 8); if (bitmap->data == NULL) bitmap->data = (BYTE*) malloc(size); diff --cc libfreerdp/common/settings.c index e99066b,944e83e..fb7dfc3 --- a/libfreerdp/common/settings.c +++ b/libfreerdp/common/settings.c @@@ -1204,61 -1185,12 +1204,61 @@@ int freerdp_set_param_bool(rdpSettings // Mark field as modified settings->settings_modified[id] = 1; - if (settings->instance) + + EventArgsInit(&e, "freerdp"); + e.id = id; - PubSub_OnParamChange(context->pubSub, context->instance, &e); ++ PubSub_OnParamChange(context->pubSub, context, &e); + + return -1; +} + +int freerdp_get_param_int(rdpSettings* settings, int id) +{ + switch (id) { - IFCALL(((freerdp*) settings->instance)->context->client->OnParamChange, ((freerdp*) settings->instance), id); + case FreeRDP_XPan: + return settings->XPan; + break; + + case FreeRDP_YPan: + return settings->YPan; + break; + + default: + return 0; + break; } - return -1; + return 0; +} + +int freerdp_set_param_int(rdpSettings* settings, int id, int param) +{ + ParamChangeEventArgs e; + rdpContext* context = ((freerdp*) settings->instance)->context; + + switch (id) + { + case FreeRDP_XPan: + settings->XPan = param; + break; + + case FreeRDP_YPan: + settings->YPan = param; + break; + + default: + return -1; + break; + } + + settings->settings_modified[id] = 1; + + EventArgsInit(&e, "freerdp"); + e.id = id; - PubSub_OnParamChange(context->pubSub, context->instance, &e); ++ PubSub_OnParamChange(context->pubSub, context, &e); + + return 0; } UINT32 freerdp_get_param_uint32(rdpSettings* settings, int id) @@@ -1895,10 -1824,10 +1895,10 @@@ int freerdp_set_param_uint32(rdpSetting // Mark field as modified settings->settings_modified[id] = 1; - if (settings->instance) - { - IFCALL(((freerdp*) settings->instance)->context->client->OnParamChange, ((freerdp*) settings->instance), id); - } + + EventArgsInit(&e, "freerdp"); + e.id = id; - PubSub_OnParamChange(context->pubSub, context->instance, &e); ++ PubSub_OnParamChange(context->pubSub, context, &e); return 0; } @@@ -1937,10 -1863,10 +1937,10 @@@ int freerdp_set_param_uint64(rdpSetting // Mark field as modified settings->settings_modified[id] = 1; - if (settings->instance) - { - IFCALL(((freerdp*) settings->instance)->context->client->OnParamChange, ((freerdp*) settings->instance), id); - } + + EventArgsInit(&e, "freerdp"); + e.id = id; - PubSub_OnParamChange(context->pubSub, context->instance, &e); ++ PubSub_OnParamChange(context->pubSub, context, &e); return 0; } @@@ -2275,51 -2198,10 +2275,51 @@@ int freerdp_set_param_string(rdpSetting // Mark field as modified settings->settings_modified[id] = 1; - if (settings->instance) + + EventArgsInit(&e, "freerdp"); + e.id = id; - PubSub_OnParamChange(context->pubSub, context->instance, &e); ++ PubSub_OnParamChange(context->pubSub, context, &e); + + return 0; +} + +double freerdp_get_param_double(rdpSettings* settings, int id) +{ + switch (id) { - IFCALL(((freerdp*) settings->instance)->context->client->OnParamChange, ((freerdp*) settings->instance), id); + case FreeRDP_ScalingFactor: + return settings->ScalingFactor; + break; + + default: + return 0; + break; + } + + return 0; +} + +int freerdp_set_param_double(rdpSettings* settings, int id, double param) +{ + ParamChangeEventArgs e; + rdpContext* context = ((freerdp*) settings->instance)->context; + + switch (id) + { + case FreeRDP_ScalingFactor: + settings->ScalingFactor = param; + break; + + default: + return -1; + break; } + settings->settings_modified[id] = 1; + + EventArgsInit(&e, "freerdp"); + e.id = id; - PubSub_OnParamChange(context->pubSub, context->instance, &e); ++ PubSub_OnParamChange(context->pubSub, context, &e); + return 0; } diff --cc libfreerdp/core/freerdp.c index 7d0c3c0,8e06a7c..a43f517 --- a/libfreerdp/core/freerdp.c +++ b/libfreerdp/core/freerdp.c @@@ -394,9 -373,13 +397,12 @@@ void freerdp_context_free(freerdp* inst IFCALL(instance->ContextFree, instance, instance->context); rdp_free(instance->context->rdp); + instance->context->rdp = NULL; + graphics_free(instance->context->graphics); + instance->context->graphics = NULL; - free(instance->context->client); - instance->context->client = NULL; + PubSub_Free(instance->context->pubSub); free(instance->context); instance->context = NULL; diff --cc libfreerdp/core/update.c index 6b24f17,4781349..c4eaede --- a/libfreerdp/core/update.c +++ b/libfreerdp/core/update.c @@@ -731,8 -693,7 +734,10 @@@ static void update_send_surface_bits(rd update_write_surfcmd_surface_bits_header(s, surface_bits_command); Stream_Write(s, surface_bits_command->bitmapData, surface_bits_command->bitmapDataLength); fastpath_send_update_pdu(rdp->fastpath, FASTPATH_UPDATETYPE_SURFCMDS, s); + + update_force_flush(context); ++ + Stream_Release(s); } static void update_send_surface_frame_marker(rdpContext* context, SURFACE_FRAME_MARKER* surface_frame_marker) @@@ -745,8 -704,7 +750,10 @@@ s = fastpath_update_pdu_init(rdp->fastpath); update_write_surfcmd_frame_marker(s, surface_frame_marker->frameAction, surface_frame_marker->frameId); fastpath_send_update_pdu(rdp->fastpath, FASTPATH_UPDATETYPE_SURFCMDS, s); + + update_force_flush(context); ++ + Stream_Release(s); } static void update_send_frame_acknowledge(rdpContext* context, UINT32 frameId) diff --cc libfreerdp/locale/keyboard_xkbfile.c index 2215e6f,2215e6f..8ae0948 --- a/libfreerdp/locale/keyboard_xkbfile.c +++ b/libfreerdp/locale/keyboard_xkbfile.c @@@ -154,6 -154,6 +154,7 @@@ XKB_KEY_NAME_SCANCODE XKB_KEY_NAME_SCAN { "LWIN", RDP_SCANCODE_LWIN}, { "RWIN", RDP_SCANCODE_RWIN}, { "COMP", RDP_SCANCODE_APPS}, ++ { "MENU", RDP_SCANCODE_APPS}, // WinMenu in xfree86 layout { "KPDV", RDP_SCANCODE_DIVIDE}, // KP! { "RCTL", RDP_SCANCODE_RCONTROL}, { "RALT", RDP_SCANCODE_RMENU},