}
settings->NlaSecurity = FALSE;
- client->Initialize(client);
+ if (!client->Initialize(client)) {
+ weston_log("peer initialization failed\n");
+ goto error_initialize;
+ }
settings->OsMajorType = OSMAJORTYPE_UNIX;
settings->OsMinorType = OSMINORTYPE_PSEUDO_XSERVER;
settings->FrameMarkerCommandEnabled = TRUE;
settings->SurfaceFrameMarkerEnabled = TRUE;
-
client->Capabilities = xf_peer_capabilities;
client->PostConnect = xf_peer_post_connect;
client->Activate = xf_peer_activate;
if (!client->GetFileDescriptor(client, rfds, &rcount)) {
weston_log("unable to retrieve client fds\n");
- return -1;
+ goto error_initialize;
}
loop = wl_display_get_event_loop(b->compositor->wl_display);
wl_list_insert(&b->output->peers, &peerCtx->item.link);
return 0;
+
+error_initialize:
+ client->Close(client);
+ return -1;
}
{
struct rdp_backend *b = (struct rdp_backend *)instance->param4;
if (rdp_peer_init(client, b) < 0) {
- weston_log("error when treating incoming peer");
+ weston_log("error when treating incoming peer\n");
FREERDP_CB_RETURN(FALSE);
}