mirror of https://github.com/FreeRDP/FreeRDP
[core,client] add argument checks & assertions
* freerdp_get_event_handles * freerdp_channels_process_pending_messages
This commit is contained in:
parent
e3c75d9d06
commit
6737f86108
|
@ -695,8 +695,8 @@ BOOL freerdp_channels_get_fds(rdpChannels* channels, freerdp* instance, void** r
|
|||
void* freerdp_channels_get_static_channel_interface(rdpChannels* channels, const char* name)
|
||||
{
|
||||
void* pInterface = NULL;
|
||||
CHANNEL_OPEN_DATA* pChannelOpenData = NULL;
|
||||
pChannelOpenData = freerdp_channels_find_channel_open_data_by_name(channels, name);
|
||||
CHANNEL_OPEN_DATA* pChannelOpenData =
|
||||
freerdp_channels_find_channel_open_data_by_name(channels, name);
|
||||
|
||||
if (pChannelOpenData)
|
||||
pInterface = pChannelOpenData->pInterface;
|
||||
|
@ -706,24 +706,35 @@ void* freerdp_channels_get_static_channel_interface(rdpChannels* channels, const
|
|||
|
||||
HANDLE freerdp_channels_get_event_handle(freerdp* instance)
|
||||
{
|
||||
HANDLE event = NULL;
|
||||
rdpChannels* channels = NULL;
|
||||
channels = instance->context->channels;
|
||||
event = MessageQueue_Event(channels->queue);
|
||||
return event;
|
||||
if (!instance)
|
||||
return INVALID_HANDLE_VALUE;
|
||||
|
||||
WINPR_ASSERT(instance->context);
|
||||
|
||||
rdpChannels* channels = instance->context->channels;
|
||||
WINPR_ASSERT(channels);
|
||||
|
||||
return MessageQueue_Event(channels->queue);
|
||||
}
|
||||
|
||||
int freerdp_channels_process_pending_messages(freerdp* instance)
|
||||
{
|
||||
rdpChannels* channels = NULL;
|
||||
channels = instance->context->channels;
|
||||
if (!instance)
|
||||
return -1;
|
||||
|
||||
if (WaitForSingleObject(MessageQueue_Event(channels->queue), 0) == WAIT_OBJECT_0)
|
||||
WINPR_ASSERT(instance->context);
|
||||
|
||||
rdpChannels* channels = instance->context->channels;
|
||||
WINPR_ASSERT(channels);
|
||||
|
||||
const DWORD status = WaitForSingleObject(MessageQueue_Event(channels->queue), 0);
|
||||
if (status == WAIT_OBJECT_0)
|
||||
{
|
||||
return freerdp_channels_process_sync(channels, instance);
|
||||
if (!freerdp_channels_process_sync(channels, instance))
|
||||
return -1;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue