Fix crash when using RDP4 security

The initialization of the freerdp_peer was done too early.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=91390.

Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
dev
FORT David 9 years ago committed by Bryce Harrington
parent c2635c6599
commit b3463a9e9c
  1. 5
      src/compositor-rdp.c

@ -1090,8 +1090,6 @@ rdp_peer_init(freerdp_peer *client, struct rdp_backend *b)
peerCtx = (RdpPeerContext *) client->context; peerCtx = (RdpPeerContext *) client->context;
peerCtx->rdpBackend = b; peerCtx->rdpBackend = b;
client->Initialize(client);
settings = client->settings; settings = client->settings;
/* configure security settings */ /* configure security settings */
if (b->rdp_key) if (b->rdp_key)
@ -1104,6 +1102,8 @@ rdp_peer_init(freerdp_peer *client, struct rdp_backend *b)
} }
settings->NlaSecurity = FALSE; settings->NlaSecurity = FALSE;
client->Initialize(client);
settings->OsMajorType = OSMAJORTYPE_UNIX; settings->OsMajorType = OSMAJORTYPE_UNIX;
settings->OsMinorType = OSMINORTYPE_PSEUDO_XSERVER; settings->OsMinorType = OSMINORTYPE_PSEUDO_XSERVER;
settings->ColorDepth = 32; settings->ColorDepth = 32;
@ -1113,6 +1113,7 @@ rdp_peer_init(freerdp_peer *client, struct rdp_backend *b)
settings->FrameMarkerCommandEnabled = TRUE; settings->FrameMarkerCommandEnabled = TRUE;
settings->SurfaceFrameMarkerEnabled = TRUE; settings->SurfaceFrameMarkerEnabled = TRUE;
client->Capabilities = xf_peer_capabilities; client->Capabilities = xf_peer_capabilities;
client->PostConnect = xf_peer_post_connect; client->PostConnect = xf_peer_post_connect;
client->Activate = xf_peer_activate; client->Activate = xf_peer_activate;

Loading…
Cancel
Save