mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
[winpr,pubsub] check return of PubSub_Subscribe
This commit is contained in:
@@ -1178,8 +1178,11 @@ static BOOL xf_pre_connect(freerdp* instance)
|
||||
return FALSE;
|
||||
if (!freerdp_settings_set_uint32(settings, FreeRDP_OsMinorType, OSMINORTYPE_NATIVE_XSERVER))
|
||||
return FALSE;
|
||||
PubSub_SubscribeChannelConnected(context->pubSub, xf_OnChannelConnectedEventHandler);
|
||||
PubSub_SubscribeChannelDisconnected(context->pubSub, xf_OnChannelDisconnectedEventHandler);
|
||||
if (PubSub_SubscribeChannelConnected(context->pubSub, xf_OnChannelConnectedEventHandler) < 0)
|
||||
return FALSE;
|
||||
if (PubSub_SubscribeChannelDisconnected(context->pubSub, xf_OnChannelDisconnectedEventHandler) <
|
||||
0)
|
||||
return FALSE;
|
||||
|
||||
if (!freerdp_settings_get_string(settings, FreeRDP_Username) &&
|
||||
!freerdp_settings_get_bool(settings, FreeRDP_CredentialsFromStdin) &&
|
||||
@@ -2058,10 +2061,13 @@ static BOOL xfreerdp_client_new(freerdp* instance, rdpContext* context)
|
||||
instance->PostFinalDisconnect = xf_post_final_disconnect;
|
||||
instance->LogonErrorInfo = xf_logon_error_info;
|
||||
instance->GetAccessToken = client_cli_get_access_token;
|
||||
PubSub_SubscribeTerminate(context->pubSub, xf_TerminateEventHandler);
|
||||
if (PubSub_SubscribeTerminate(context->pubSub, xf_TerminateEventHandler) < 0)
|
||||
return FALSE;
|
||||
#ifdef WITH_XRENDER
|
||||
PubSub_SubscribeZoomingChange(context->pubSub, xf_ZoomingChangeEventHandler);
|
||||
PubSub_SubscribePanningChange(context->pubSub, xf_PanningChangeEventHandler);
|
||||
if (PubSub_SubscribeZoomingChange(context->pubSub, xf_ZoomingChangeEventHandler) < 0)
|
||||
return FALSE;
|
||||
if (PubSub_SubscribePanningChange(context->pubSub, xf_PanningChangeEventHandler) < 0)
|
||||
return FALSE;
|
||||
#endif
|
||||
xfc->log = WLog_Get(TAG);
|
||||
|
||||
|
||||
@@ -333,19 +333,22 @@ static void xf_disp_OnWindowStateChange(void* context, const WindowStateChangeEv
|
||||
|
||||
xfDispContext* xf_disp_new(xfContext* xfc)
|
||||
{
|
||||
xfDispContext* ret = nullptr;
|
||||
const rdpSettings* settings = nullptr;
|
||||
wPubSub* pubSub = nullptr;
|
||||
|
||||
WINPR_ASSERT(xfc);
|
||||
|
||||
pubSub = xfc->common.context.pubSub;
|
||||
wPubSub* pubSub = xfc->common.context.pubSub;
|
||||
WINPR_ASSERT(pubSub);
|
||||
|
||||
settings = xfc->common.context.settings;
|
||||
const rdpSettings* settings = xfc->common.context.settings;
|
||||
WINPR_ASSERT(settings);
|
||||
|
||||
ret = calloc(1, sizeof(xfDispContext));
|
||||
if (PubSub_SubscribeActivated(pubSub, xf_disp_OnActivated) < 0)
|
||||
return nullptr;
|
||||
if (PubSub_SubscribeGraphicsReset(pubSub, xf_disp_OnGraphicsReset) < 0)
|
||||
return nullptr;
|
||||
if (PubSub_SubscribeWindowStateChange(pubSub, xf_disp_OnWindowStateChange) < 0)
|
||||
return nullptr;
|
||||
|
||||
xfDispContext* ret = calloc(1, sizeof(xfDispContext));
|
||||
|
||||
if (!ret)
|
||||
return nullptr;
|
||||
@@ -363,9 +366,6 @@ xfDispContext* xf_disp_new(xfContext* xfc)
|
||||
freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth);
|
||||
ret->lastSentHeight = ret->targetHeight =
|
||||
freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight);
|
||||
PubSub_SubscribeActivated(pubSub, xf_disp_OnActivated);
|
||||
PubSub_SubscribeGraphicsReset(pubSub, xf_disp_OnGraphicsReset);
|
||||
PubSub_SubscribeWindowStateChange(pubSub, xf_disp_OnWindowStateChange);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user