From 8797eef9b9c205407c5da75059db96791559e5f6 Mon Sep 17 00:00:00 2001 From: Konrad Witaszczyk Date: Thu, 21 May 2015 16:54:19 +0200 Subject: [PATCH] Assign peer to settings when a new RDP module is being initialized. --- libfreerdp/core/peer.c | 2 +- libfreerdp/core/rdp.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libfreerdp/core/peer.c b/libfreerdp/core/peer.c index 6ee2ce975..9bf95719b 100644 --- a/libfreerdp/core/peer.c +++ b/libfreerdp/core/peer.c @@ -635,6 +635,7 @@ BOOL freerdp_peer_context_new(freerdp_peer* client) client->context = context; + context->peer = client; context->ServerMode = TRUE; if (!(context->metrics = metrics_new(context))) @@ -649,7 +650,6 @@ BOOL freerdp_peer_context_new(freerdp_peer* client) client->autodetect = rdp->autodetect; context->rdp = rdp; - context->peer = client; context->input = client->input; context->update = client->update; context->settings = client->settings; diff --git a/libfreerdp/core/rdp.c b/libfreerdp/core/rdp.c index 2ddde9521..5d2ff7c52 100644 --- a/libfreerdp/core/rdp.c +++ b/libfreerdp/core/rdp.c @@ -1406,10 +1406,16 @@ rdpRdp* rdp_new(rdpContext* context) } rdp->settings = context->settings; - rdp->settings->instance = context->instance; - if (context->instance) + { + rdp->settings->instance = context->instance; context->instance->settings = rdp->settings; + } + else if (context->peer) + { + rdp->settings->instance = context->peer; + context->peer->settings = rdp->settings; + } rdp->transport = transport_new(context);