Merge pull request #3964 from akallabeth/update_reset_state_fix
Update reset state fix
This commit is contained in:
commit
4cc1ba5b1d
19
libfreerdp/cache/offscreen.c
vendored
19
libfreerdp/cache/offscreen.c
vendored
@ -44,7 +44,12 @@ static BOOL update_gdi_create_offscreen_bitmap(rdpContext* context,
|
|||||||
UINT32 i;
|
UINT32 i;
|
||||||
UINT16 index;
|
UINT16 index;
|
||||||
rdpBitmap* bitmap;
|
rdpBitmap* bitmap;
|
||||||
rdpCache* cache = context->cache;
|
rdpCache* cache;
|
||||||
|
|
||||||
|
if (!context || !createOffscreenBitmap || !context->cache)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
cache = context->cache;
|
||||||
bitmap = Bitmap_Alloc(context);
|
bitmap = Bitmap_Alloc(context);
|
||||||
|
|
||||||
if (!bitmap)
|
if (!bitmap)
|
||||||
@ -77,8 +82,16 @@ static BOOL update_gdi_create_offscreen_bitmap(rdpContext* context,
|
|||||||
static BOOL update_gdi_switch_surface(rdpContext* context,
|
static BOOL update_gdi_switch_surface(rdpContext* context,
|
||||||
const SWITCH_SURFACE_ORDER* switchSurface)
|
const SWITCH_SURFACE_ORDER* switchSurface)
|
||||||
{
|
{
|
||||||
rdpCache* cache = context->cache;
|
rdpCache* cache;
|
||||||
rdpBitmap* bitmap = context->graphics->Bitmap_Prototype;
|
rdpBitmap* bitmap;
|
||||||
|
|
||||||
|
if (!context || !context->cache || !switchSurface || !context->graphics)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
cache = context->cache;
|
||||||
|
bitmap = context->graphics->Bitmap_Prototype;
|
||||||
|
if (!bitmap)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
if (switchSurface->bitmapId == SCREEN_BITMAP_SURFACE)
|
if (switchSurface->bitmapId == SCREEN_BITMAP_SURFACE)
|
||||||
{
|
{
|
||||||
|
@ -631,6 +631,8 @@ void update_post_disconnect(rdpUpdate* update)
|
|||||||
|
|
||||||
if (update->asynchronous)
|
if (update->asynchronous)
|
||||||
update_message_proxy_free(update->proxy);
|
update_message_proxy_free(update->proxy);
|
||||||
|
|
||||||
|
update->initialState = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL update_begin_paint(rdpContext* context)
|
static BOOL update_begin_paint(rdpContext* context)
|
||||||
@ -1714,7 +1716,12 @@ static BOOL update_send_switch_surface_order(
|
|||||||
BYTE orderType;
|
BYTE orderType;
|
||||||
BYTE controlFlags;
|
BYTE controlFlags;
|
||||||
int headerLength;
|
int headerLength;
|
||||||
rdpUpdate* update = context->update;
|
rdpUpdate* update;
|
||||||
|
|
||||||
|
if (!context || !switch_surface || !context->update)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
update = context->update;
|
||||||
headerLength = 1;
|
headerLength = 1;
|
||||||
orderType = ORDER_TYPE_SWITCH_SURFACE;
|
orderType = ORDER_TYPE_SWITCH_SURFACE;
|
||||||
controlFlags = ORDER_SECONDARY | (orderType << 2);
|
controlFlags = ORDER_SECONDARY | (orderType << 2);
|
||||||
|
Loading…
Reference in New Issue
Block a user