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:
@@ -130,7 +130,8 @@ static BOOL test_peer_context_new(freerdp_peer* client, rdpContext* ctx)
|
||||
|
||||
{
|
||||
const UINT32 rlgr = freerdp_settings_get_uint32(ctx->settings, FreeRDP_RemoteFxRlgrMode);
|
||||
rfx_context_set_mode(context->rfx_context, WINPR_ASSERTING_INT_CAST(RLGR_MODE, rlgr));
|
||||
if (!rfx_context_set_mode(context->rfx_context, WINPR_ASSERTING_INT_CAST(RLGR_MODE, rlgr)))
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (!(context->nsc_context = nsc_context_new()))
|
||||
@@ -285,11 +286,13 @@ static BOOL test_peer_draw_background(freerdp_peer* client, const RFX_RECT* rect
|
||||
else
|
||||
{
|
||||
WLog_DBG(TAG, "Using NSCodec");
|
||||
nsc_context_set_parameters(context->nsc_context, NSC_COLOR_FORMAT, colorFormat);
|
||||
if (!nsc_context_set_parameters(context->nsc_context, NSC_COLOR_FORMAT, colorFormat))
|
||||
goto out;
|
||||
|
||||
WINPR_ASSERT(bpp <= UINT16_MAX);
|
||||
nsc_compose_message(context->nsc_context, s, rgb_data, rect->width, rect->height,
|
||||
(UINT32)(bpp * rect->width));
|
||||
if (!nsc_compose_message(context->nsc_context, s, rgb_data, rect->width, rect->height,
|
||||
(UINT32)(bpp * rect->width)))
|
||||
goto out;
|
||||
const UINT32 NSCodecId = freerdp_settings_get_uint32(settings, FreeRDP_NSCodecId);
|
||||
WINPR_ASSERT(NSCodecId <= UINT16_MAX);
|
||||
cmd.bmp.codecID = (UINT16)NSCodecId;
|
||||
@@ -430,14 +433,17 @@ static void test_send_cursor_update(freerdp_peer* client, UINT32 x, UINT32 y)
|
||||
if (RemoteFxCodec)
|
||||
{
|
||||
rfx_context_set_pixel_format(context->rfx_context, colorFormat);
|
||||
rfx_compose_message(context->rfx_context, s, &rect, 1, context->image->data, rect.width,
|
||||
rect.height, context->image->scanline);
|
||||
if (!rfx_compose_message(context->rfx_context, s, &rect, 1, context->image->data,
|
||||
rect.width, rect.height, context->image->scanline))
|
||||
WLog_WARN(TAG, "rfx_compose_message failed");
|
||||
}
|
||||
else
|
||||
{
|
||||
nsc_context_set_parameters(context->nsc_context, NSC_COLOR_FORMAT, colorFormat);
|
||||
nsc_compose_message(context->nsc_context, s, context->image->data, rect.width,
|
||||
rect.height, context->image->scanline);
|
||||
if (!nsc_context_set_parameters(context->nsc_context, NSC_COLOR_FORMAT, colorFormat))
|
||||
WLog_WARN(TAG, "nsc_context_set_parameters failed");
|
||||
else if (!nsc_compose_message(context->nsc_context, s, context->image->data, rect.width,
|
||||
rect.height, context->image->scanline))
|
||||
WLog_WARN(TAG, "rfx_compose_message failed");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1204,7 +1210,8 @@ static DWORD WINAPI test_peer_mainloop(LPVOID arg)
|
||||
replay = *cb;
|
||||
context->io = *cb;
|
||||
replay.WritePdu = hook_peer_write_pdu;
|
||||
freerdp_set_io_callbacks(client->context, &replay);
|
||||
if (!freerdp_set_io_callbacks(client->context, &replay))
|
||||
goto fail;
|
||||
}
|
||||
|
||||
WLog_INFO(TAG, "We've got a client %s", client->local ? "(local)" : client->hostname);
|
||||
|
||||
@@ -90,7 +90,11 @@ static void pf_client_on_error_info(void* ctx, const ErrorInfoEventArgs* e)
|
||||
|
||||
/* forward error back to client */
|
||||
freerdp_set_error_info(ps->context.rdp, e->code);
|
||||
freerdp_send_error_info(ps->context.rdp);
|
||||
if (!freerdp_send_error_info(ps->context.rdp))
|
||||
{
|
||||
PROXY_LOG_WARN(TAG, pc, "[fail] reply ErrorInfo PDU. code=0x%08" PRIu32 ", message: %s",
|
||||
e->code, freerdp_get_error_info_string(e->code));
|
||||
}
|
||||
}
|
||||
|
||||
static void pf_client_on_activated(void* ctx, WINPR_ATTR_UNUSED const ActivatedEventArgs* e)
|
||||
|
||||
@@ -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