From 5ae4d88c145a25f506f8797bd49cd0f43aaa8026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Fri, 10 Feb 2012 15:50:29 -0500 Subject: [PATCH] libfreerdp-core: don't call freerdp_context_free() from freerdp_free() --- libfreerdp-core/freerdp.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libfreerdp-core/freerdp.c b/libfreerdp-core/freerdp.c index 0b0c418c6..a4d44b9b2 100644 --- a/libfreerdp-core/freerdp.c +++ b/libfreerdp-core/freerdp.c @@ -194,9 +194,12 @@ void freerdp_context_free(freerdp* instance) { if (instance->context == NULL) return; + IFCALL(instance->ContextFree, instance, instance->context); + rdp_free(instance->context->rdp); graphics_free(instance->context->graphics); + xfree(instance->context); instance->context = NULL; } @@ -221,11 +224,10 @@ freerdp* freerdp_new() return instance; } -void freerdp_free(freerdp* freerdp) +void freerdp_free(freerdp* instance) { - if (freerdp) + if (instance) { - freerdp_context_free(freerdp); - xfree(freerdp); + xfree(instance); } }