From 3e41d5da87f0657675aacab4e7217f93e2583ebb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Tue, 15 Oct 2013 22:42:07 -0400 Subject: [PATCH] libfreerdp-rail: minor cleanup --- libfreerdp/core/transport.c | 3 ++ libfreerdp/core/window.c | 85 ++++++++++++++++++++----------------- libfreerdp/rail/icon.c | 4 +- libfreerdp/rail/rail.c | 3 +- libfreerdp/rail/window.c | 2 +- 5 files changed, 55 insertions(+), 42 deletions(-) diff --git a/libfreerdp/core/transport.c b/libfreerdp/core/transport.c index 0f11b9475..17a0333e8 100644 --- a/libfreerdp/core/transport.c +++ b/libfreerdp/core/transport.c @@ -965,11 +965,14 @@ static void* transport_client_thread(void* arg) events[nCount] = transport->connectedEvent; status = WaitForMultipleObjects(nCount + 1, events, FALSE, INFINITE); + if (status == WAIT_OBJECT_0) break; transport_get_read_handles(transport, (HANDLE*) &events, &nCount); + status = WaitForMultipleObjects(nCount, events, FALSE, INFINITE); + if (status == WAIT_OBJECT_0) break; diff --git a/libfreerdp/core/window.c b/libfreerdp/core/window.c index 8ce929f38..c94188466 100644 --- a/libfreerdp/core/window.c +++ b/libfreerdp/core/window.c @@ -122,7 +122,7 @@ BOOL update_read_notify_icon_infotip(wStream* s, NOTIFY_ICON_INFOTIP* notify_ico rail_read_unicode_string(s, ¬ify_icon_infotip->title); /* title */ } -BOOL update_read_window_state_order(wStream* s, WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* window_state) +BOOL update_read_window_state_order(wStream* s, WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* windowState) { int i; int size; @@ -131,27 +131,30 @@ BOOL update_read_window_state_order(wStream* s, WINDOW_ORDER_INFO* orderInfo, WI { if (Stream_GetRemainingLength(s) < 4) return FALSE; - Stream_Read_UINT32(s, window_state->ownerWindowId); /* ownerWindowId (4 bytes) */ + + Stream_Read_UINT32(s, windowState->ownerWindowId); /* ownerWindowId (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_STYLE) { if (Stream_GetRemainingLength(s) < 8) return FALSE; - Stream_Read_UINT32(s, window_state->style); /* style (4 bytes) */ - Stream_Read_UINT32(s, window_state->extendedStyle); /* extendedStyle (4 bytes) */ + + Stream_Read_UINT32(s, windowState->style); /* style (4 bytes) */ + Stream_Read_UINT32(s, windowState->extendedStyle); /* extendedStyle (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_SHOW) { if (Stream_GetRemainingLength(s) < 1) return FALSE; - Stream_Read_UINT8(s, window_state->showState); /* showState (1 byte) */ + + Stream_Read_UINT8(s, windowState->showState); /* showState (1 byte) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_TITLE) { - if (!rail_read_unicode_string(s, &window_state->titleInfo)) /* titleInfo */ + if (!rail_read_unicode_string(s, &windowState->titleInfo)) /* titleInfo */ return FALSE; } @@ -159,46 +162,52 @@ BOOL update_read_window_state_order(wStream* s, WINDOW_ORDER_INFO* orderInfo, WI { if (Stream_GetRemainingLength(s) < 4) return FALSE; - Stream_Read_UINT32(s, window_state->clientOffsetX); /* clientOffsetX (4 bytes) */ - Stream_Read_UINT32(s, window_state->clientOffsetY); /* clientOffsetY (4 bytes) */ + + Stream_Read_UINT32(s, windowState->clientOffsetX); /* clientOffsetX (4 bytes) */ + Stream_Read_UINT32(s, windowState->clientOffsetY); /* clientOffsetY (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_CLIENT_AREA_SIZE) { if (Stream_GetRemainingLength(s) < 4) return FALSE; - Stream_Read_UINT32(s, window_state->clientAreaWidth); /* clientAreaWidth (4 bytes) */ - Stream_Read_UINT32(s, window_state->clientAreaHeight); /* clientAreaHeight (4 bytes) */ + + Stream_Read_UINT32(s, windowState->clientAreaWidth); /* clientAreaWidth (4 bytes) */ + Stream_Read_UINT32(s, windowState->clientAreaHeight); /* clientAreaHeight (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_RP_CONTENT) { if (Stream_GetRemainingLength(s) < 1) return FALSE; - Stream_Read_UINT8(s, window_state->RPContent); /* RPContent (1 byte) */ + + Stream_Read_UINT8(s, windowState->RPContent); /* RPContent (1 byte) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_ROOT_PARENT) { if (Stream_GetRemainingLength(s) < 4) return FALSE; - Stream_Read_UINT32(s, window_state->rootParentHandle);/* rootParentHandle (4 bytes) */ + + Stream_Read_UINT32(s, windowState->rootParentHandle);/* rootParentHandle (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_WND_OFFSET) { if (Stream_GetRemainingLength(s) < 8) return FALSE; - Stream_Read_UINT32(s, window_state->windowOffsetX); /* windowOffsetX (4 bytes) */ - Stream_Read_UINT32(s, window_state->windowOffsetY); /* windowOffsetY (4 bytes) */ + + Stream_Read_UINT32(s, windowState->windowOffsetX); /* windowOffsetX (4 bytes) */ + Stream_Read_UINT32(s, windowState->windowOffsetY); /* windowOffsetY (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_WND_CLIENT_DELTA) { if (Stream_GetRemainingLength(s) < 8) return FALSE; - Stream_Read_UINT32(s, window_state->windowClientDeltaX); /* windowClientDeltaX (4 bytes) */ - Stream_Read_UINT32(s, window_state->windowClientDeltaY); /* windowClientDeltaY (4 bytes) */ + + Stream_Read_UINT32(s, windowState->windowClientDeltaX); /* windowClientDeltaX (4 bytes) */ + Stream_Read_UINT32(s, windowState->windowClientDeltaY); /* windowClientDeltaY (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_WND_SIZE) @@ -206,8 +215,8 @@ BOOL update_read_window_state_order(wStream* s, WINDOW_ORDER_INFO* orderInfo, WI if (Stream_GetRemainingLength(s) < 8) return FALSE; - Stream_Read_UINT32(s, window_state->windowWidth); /* windowWidth (4 bytes) */ - Stream_Read_UINT32(s, window_state->windowHeight); /* windowHeight (4 bytes) */ + Stream_Read_UINT32(s, windowState->windowWidth); /* windowWidth (4 bytes) */ + Stream_Read_UINT32(s, windowState->windowHeight); /* windowHeight (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_WND_RECTS) @@ -215,21 +224,21 @@ BOOL update_read_window_state_order(wStream* s, WINDOW_ORDER_INFO* orderInfo, WI if (Stream_GetRemainingLength(s) < 2) return FALSE; - Stream_Read_UINT16(s, window_state->numWindowRects); /* numWindowRects (2 bytes) */ + Stream_Read_UINT16(s, windowState->numWindowRects); /* numWindowRects (2 bytes) */ - size = sizeof(RECTANGLE_16) * window_state->numWindowRects; - window_state->windowRects = (RECTANGLE_16*) malloc(size); + size = sizeof(RECTANGLE_16) * windowState->numWindowRects; + windowState->windowRects = (RECTANGLE_16*) malloc(size); - if (Stream_GetRemainingLength(s) < 8 * window_state->numWindowRects) + if (Stream_GetRemainingLength(s) < 8 * windowState->numWindowRects) return FALSE; /* windowRects */ - for (i = 0; i < (int) window_state->numWindowRects; i++) + for (i = 0; i < (int) windowState->numWindowRects; i++) { - Stream_Read_UINT16(s, window_state->windowRects[i].left); /* left (2 bytes) */ - Stream_Read_UINT16(s, window_state->windowRects[i].top); /* top (2 bytes) */ - Stream_Read_UINT16(s, window_state->windowRects[i].right); /* right (2 bytes) */ - Stream_Read_UINT16(s, window_state->windowRects[i].bottom); /* bottom (2 bytes) */ + Stream_Read_UINT16(s, windowState->windowRects[i].left); /* left (2 bytes) */ + Stream_Read_UINT16(s, windowState->windowRects[i].top); /* top (2 bytes) */ + Stream_Read_UINT16(s, windowState->windowRects[i].right); /* right (2 bytes) */ + Stream_Read_UINT16(s, windowState->windowRects[i].bottom); /* bottom (2 bytes) */ } } @@ -238,8 +247,8 @@ BOOL update_read_window_state_order(wStream* s, WINDOW_ORDER_INFO* orderInfo, WI if (Stream_GetRemainingLength(s) < 4) return FALSE; - Stream_Read_UINT32(s, window_state->visibleOffsetX); /* visibleOffsetX (4 bytes) */ - Stream_Read_UINT32(s, window_state->visibleOffsetY); /* visibleOffsetY (4 bytes) */ + Stream_Read_UINT32(s, windowState->visibleOffsetX); /* visibleOffsetX (4 bytes) */ + Stream_Read_UINT32(s, windowState->visibleOffsetY); /* visibleOffsetY (4 bytes) */ } if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_VISIBILITY) @@ -247,21 +256,21 @@ BOOL update_read_window_state_order(wStream* s, WINDOW_ORDER_INFO* orderInfo, WI if (Stream_GetRemainingLength(s) < 2) return FALSE; - Stream_Read_UINT16(s, window_state->numVisibilityRects); /* numVisibilityRects (2 bytes) */ + Stream_Read_UINT16(s, windowState->numVisibilityRects); /* numVisibilityRects (2 bytes) */ - size = sizeof(RECTANGLE_16) * window_state->numVisibilityRects; - window_state->visibilityRects = (RECTANGLE_16*) malloc(size); + size = sizeof(RECTANGLE_16) * windowState->numVisibilityRects; + windowState->visibilityRects = (RECTANGLE_16*) malloc(size); - if (Stream_GetRemainingLength(s) < window_state->numVisibilityRects * 8) + if (Stream_GetRemainingLength(s) < windowState->numVisibilityRects * 8) return FALSE; /* visibilityRects */ - for (i = 0; i < (int) window_state->numVisibilityRects; i++) + for (i = 0; i < (int) windowState->numVisibilityRects; i++) { - Stream_Read_UINT16(s, window_state->visibilityRects[i].left); /* left (2 bytes) */ - Stream_Read_UINT16(s, window_state->visibilityRects[i].top); /* top (2 bytes) */ - Stream_Read_UINT16(s, window_state->visibilityRects[i].right); /* right (2 bytes) */ - Stream_Read_UINT16(s, window_state->visibilityRects[i].bottom); /* bottom (2 bytes) */ + Stream_Read_UINT16(s, windowState->visibilityRects[i].left); /* left (2 bytes) */ + Stream_Read_UINT16(s, windowState->visibilityRects[i].top); /* top (2 bytes) */ + Stream_Read_UINT16(s, windowState->visibilityRects[i].right); /* right (2 bytes) */ + Stream_Read_UINT16(s, windowState->visibilityRects[i].bottom); /* bottom (2 bytes) */ } } return TRUE; diff --git a/libfreerdp/rail/icon.c b/libfreerdp/rail/icon.c index 04cef8e93..4f7365413 100644 --- a/libfreerdp/rail/icon.c +++ b/libfreerdp/rail/icon.c @@ -46,7 +46,7 @@ ICON_INFO* icon_cache_get(rdpIconCache* cache, BYTE id, UINT16 index, void** ext entry = cache->caches[id].entries[index].entry; - if (extra != NULL) + if (extra) *extra = cache->caches[id].entries[index].extra; return entry; @@ -106,7 +106,7 @@ rdpIconCache* icon_cache_new(rdpRail* rail) void icon_cache_free(rdpIconCache* cache) { - if (cache != NULL) + if (cache) { int i; diff --git a/libfreerdp/rail/rail.c b/libfreerdp/rail/rail.c index 17a53f40f..693c5f825 100644 --- a/libfreerdp/rail/rail.c +++ b/libfreerdp/rail/rail.c @@ -60,8 +60,9 @@ static void rail_WindowIcon(rdpContext* context, WINDOW_ORDER_INFO* orderInfo, W } window = window_list_get_by_id(rail->list, orderInfo->windowId); + if (!window) - return ; + return; icon = (rdpIcon*) malloc(sizeof(rdpIcon)); ZeroMemory(icon, sizeof(rdpIcon)); diff --git a/libfreerdp/rail/window.c b/libfreerdp/rail/window.c index ed50de1f4..9dd3d3c72 100644 --- a/libfreerdp/rail/window.c +++ b/libfreerdp/rail/window.c @@ -387,7 +387,7 @@ void rail_DestroyWindow(rdpRail* rail, rdpWindow* window) { IFCALL(rail->rail_DestroyWindow, rail, window); - if (window != NULL) + if (window) { free(window); }