mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
[warnings,api] fix -Wunused-result
With marking publid API [[nodiscard]] some problematic error checks in the core library were uncovered. This commit addresses these shortcomings.
This commit is contained in:
@@ -876,8 +876,12 @@ static int x11_shadow_screen_grab(x11ShadowSubsystem* subsystem)
|
||||
{
|
||||
BOOL empty = 0;
|
||||
EnterCriticalSection(&surface->lock);
|
||||
region16_union_rect(&(surface->invalidRegion), &(surface->invalidRegion), &invalidRect);
|
||||
region16_intersect_rect(&(surface->invalidRegion), &(surface->invalidRegion), &surfaceRect);
|
||||
if (!region16_union_rect(&(surface->invalidRegion), &(surface->invalidRegion),
|
||||
&invalidRect))
|
||||
goto fail_capture;
|
||||
if (!region16_intersect_rect(&(surface->invalidRegion), &(surface->invalidRegion),
|
||||
&surfaceRect))
|
||||
goto fail_capture;
|
||||
empty = region16_is_empty(&(surface->invalidRegion));
|
||||
LeaveCriticalSection(&surface->lock);
|
||||
|
||||
|
||||
@@ -348,13 +348,10 @@ fail:
|
||||
static inline void shadow_client_mark_invalid(rdpShadowClient* client, UINT32 numRects,
|
||||
const RECTANGLE_16* rects)
|
||||
{
|
||||
RECTANGLE_16 screenRegion;
|
||||
rdpSettings* settings = NULL;
|
||||
|
||||
WINPR_ASSERT(client);
|
||||
WINPR_ASSERT(rects || (numRects == 0));
|
||||
|
||||
settings = client->context.settings;
|
||||
rdpSettings* settings = client->context.settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
EnterCriticalSection(&(client->lock));
|
||||
@@ -364,20 +361,22 @@ static inline void shadow_client_mark_invalid(rdpShadowClient* client, UINT32 nu
|
||||
{
|
||||
for (UINT32 index = 0; index < numRects; index++)
|
||||
{
|
||||
region16_union_rect(&(client->invalidRegion), &(client->invalidRegion), &rects[index]);
|
||||
if (!region16_union_rect(&(client->invalidRegion), &(client->invalidRegion),
|
||||
&rects[index]))
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
screenRegion.left = 0;
|
||||
screenRegion.top = 0;
|
||||
RECTANGLE_16 screenRegion = { 0 };
|
||||
WINPR_ASSERT(freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth) <= UINT16_MAX);
|
||||
WINPR_ASSERT(freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight) <= UINT16_MAX);
|
||||
screenRegion.right = (UINT16)freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth);
|
||||
screenRegion.bottom = (UINT16)freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight);
|
||||
region16_union_rect(&(client->invalidRegion), &(client->invalidRegion), &screenRegion);
|
||||
if (!region16_union_rect(&(client->invalidRegion), &(client->invalidRegion), &screenRegion))
|
||||
goto fail;
|
||||
}
|
||||
|
||||
fail:
|
||||
LeaveCriticalSection(&(client->lock));
|
||||
}
|
||||
|
||||
@@ -410,7 +409,8 @@ static inline BOOL shadow_client_recalc_desktop_size(rdpShadowClient* client)
|
||||
|
||||
if (server->shareSubRect)
|
||||
{
|
||||
rectangles_intersection(&viewport, &(server->subRect), &viewport);
|
||||
if (!rectangles_intersection(&viewport, &(server->subRect), &viewport))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
width = viewport.right - viewport.left;
|
||||
@@ -1170,7 +1170,8 @@ static BOOL shadow_client_send_surface_gfx(rdpShadowClient* client, const BYTE*
|
||||
|
||||
if (client->first_frame)
|
||||
{
|
||||
rfx_context_reset(encoder->rfx, nWidth, nHeight);
|
||||
if (!rfx_context_reset(encoder->rfx, nWidth, nHeight))
|
||||
return FALSE;
|
||||
client->first_frame = FALSE;
|
||||
}
|
||||
|
||||
@@ -1365,7 +1366,11 @@ static BOOL shadow_client_send_surface_gfx(rdpShadowClient* client, const BYTE*
|
||||
regionRect.right = (UINT16)cmd.right;
|
||||
regionRect.bottom = (UINT16)cmd.bottom;
|
||||
region16_init(®ion);
|
||||
region16_union_rect(®ion, ®ion, ®ionRect);
|
||||
if (!region16_union_rect(®ion, ®ion, ®ionRect))
|
||||
{
|
||||
region16_uninit(®ion);
|
||||
return FALSE;
|
||||
}
|
||||
rc = progressive_compress(encoder->progressive, pSrcData, nSrcStep * nHeight, cmd.format,
|
||||
nWidth, nHeight, nSrcStep, ®ion, &cmd.data, &cmd.length);
|
||||
region16_uninit(®ion);
|
||||
@@ -1617,7 +1622,9 @@ static BOOL shadow_client_send_surface_bits(rdpShadowClient* client, BYTE* pSrcD
|
||||
s = encoder->bs;
|
||||
Stream_SetPosition(s, 0);
|
||||
pSrcData = &pSrcData[(nYSrc * nSrcStep) + (nXSrc * 4)];
|
||||
nsc_compose_message(encoder->nsc, s, pSrcData, nWidth, nHeight, nSrcStep);
|
||||
if (!nsc_compose_message(encoder->nsc, s, pSrcData, nWidth, nHeight, nSrcStep))
|
||||
return FALSE;
|
||||
|
||||
cmd.cmdType = CMDTYPE_SET_SURFACE_BITS;
|
||||
cmd.bmp.bpp = 32;
|
||||
WINPR_ASSERT(nsID <= UINT16_MAX);
|
||||
@@ -1767,9 +1774,12 @@ static BOOL shadow_client_send_bitmap_update(rdpShadowClient* client, BYTE* pSrc
|
||||
UINT32 bytesPerPixel = (bitsPerPixel + 7) / 8;
|
||||
DstSize = 64 * 64 * 4;
|
||||
buffer = encoder->grid[k];
|
||||
interleaved_compress(encoder->interleaved, buffer, &DstSize, bitmap->width,
|
||||
bitmap->height, pSrcData, SrcFormat, nSrcStep,
|
||||
bitmap->destLeft, bitmap->destTop, NULL, bitsPerPixel);
|
||||
|
||||
ret = interleaved_compress(encoder->interleaved, buffer, &DstSize, bitmap->width,
|
||||
bitmap->height, pSrcData, SrcFormat, nSrcStep,
|
||||
bitmap->destLeft, bitmap->destTop, NULL, bitsPerPixel);
|
||||
if (!ret)
|
||||
goto out;
|
||||
bitmap->bitmapDataStream = buffer;
|
||||
bitmap->bitmapLength = DstSize;
|
||||
bitmap->bitsPerPixel = bitsPerPixel;
|
||||
@@ -1900,7 +1910,8 @@ static BOOL shadow_client_send_surface_update(rdpShadowClient* client, SHADOW_GF
|
||||
|
||||
EnterCriticalSection(&(client->lock));
|
||||
region16_init(&invalidRegion);
|
||||
region16_copy(&invalidRegion, &(client->invalidRegion));
|
||||
if (!region16_copy(&invalidRegion, &(client->invalidRegion)))
|
||||
goto out;
|
||||
region16_clear(&(client->invalidRegion));
|
||||
LeaveCriticalSection(&(client->lock));
|
||||
|
||||
@@ -1908,7 +1919,10 @@ static BOOL shadow_client_send_surface_update(rdpShadowClient* client, SHADOW_GF
|
||||
rects = region16_rects(&(surface->invalidRegion), &numRects);
|
||||
|
||||
for (UINT32 index = 0; index < numRects; index++)
|
||||
region16_union_rect(&invalidRegion, &invalidRegion, &rects[index]);
|
||||
{
|
||||
if (!region16_union_rect(&invalidRegion, &invalidRegion, &rects[index]))
|
||||
goto out;
|
||||
}
|
||||
|
||||
surfaceRect.left = 0;
|
||||
surfaceRect.top = 0;
|
||||
@@ -1916,11 +1930,13 @@ static BOOL shadow_client_send_surface_update(rdpShadowClient* client, SHADOW_GF
|
||||
WINPR_ASSERT(surface->height <= UINT16_MAX);
|
||||
surfaceRect.right = (UINT16)surface->width;
|
||||
surfaceRect.bottom = (UINT16)surface->height;
|
||||
region16_intersect_rect(&invalidRegion, &invalidRegion, &surfaceRect);
|
||||
if (!region16_intersect_rect(&invalidRegion, &invalidRegion, &surfaceRect))
|
||||
goto out;
|
||||
|
||||
if (server->shareSubRect)
|
||||
{
|
||||
region16_intersect_rect(&invalidRegion, &invalidRegion, &(server->subRect));
|
||||
if (!region16_intersect_rect(&invalidRegion, &invalidRegion, &(server->subRect)))
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (region16_is_empty(&invalidRegion))
|
||||
@@ -2481,7 +2497,8 @@ static DWORD WINAPI shadow_client_thread(LPVOID arg)
|
||||
{
|
||||
if (WaitForSingleObject(gfxevent, 0) == WAIT_OBJECT_0)
|
||||
{
|
||||
rdpgfx_server_handle_messages(client->rdpgfx);
|
||||
if (!rdpgfx_server_handle_messages(client->rdpgfx))
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -143,7 +143,8 @@ static int shadow_encoder_init_rfx(rdpShadowEncoder* encoder)
|
||||
{
|
||||
const UINT32 mode =
|
||||
freerdp_settings_get_uint32(encoder->server->settings, FreeRDP_RemoteFxRlgrMode);
|
||||
rfx_context_set_mode(encoder->rfx, WINPR_ASSERTING_INT_CAST(RLGR_MODE, mode));
|
||||
if (!rfx_context_set_mode(encoder->rfx, WINPR_ASSERTING_INT_CAST(RLGR_MODE, mode)))
|
||||
goto fail;
|
||||
}
|
||||
rfx_context_set_pixel_format(encoder->rfx, PIXEL_FORMAT_BGRX32);
|
||||
encoder->codecs |= FREERDP_CODEC_REMOTEFX;
|
||||
|
||||
@@ -59,7 +59,8 @@ BOOL shadow_client_init_lobby(rdpShadowServer* server)
|
||||
if (server->shareSubRect)
|
||||
{
|
||||
/* If we have shared sub rect setting, only fill shared rect */
|
||||
rectangles_intersection(&invalidRect, &(server->subRect), &invalidRect);
|
||||
if (!rectangles_intersection(&invalidRect, &(server->subRect), &invalidRect))
|
||||
goto fail;
|
||||
}
|
||||
|
||||
width = invalidRect.right - invalidRect.left;
|
||||
@@ -78,7 +79,8 @@ BOOL shadow_client_init_lobby(rdpShadowServer* server)
|
||||
|
||||
rdtk_surface_free(surface);
|
||||
|
||||
region16_union_rect(&(lobby->invalidRegion), &(lobby->invalidRegion), &invalidRect);
|
||||
if (!region16_union_rect(&(lobby->invalidRegion), &(lobby->invalidRegion), &invalidRect))
|
||||
goto fail;
|
||||
|
||||
rc = TRUE;
|
||||
fail:
|
||||
|
||||
Reference in New Issue
Block a user