Fixed channel cleanup.

This commit is contained in:
Armin Novak 2016-08-09 22:37:02 +02:00 committed by Armin Novak
parent d35823cf69
commit 122f25eb60

View File

@ -393,7 +393,9 @@ BOOL freerdp_disconnect(freerdp* instance)
rdp_client_disconnect(rdp);
update_post_disconnect(instance->update);
IFCALL(instance->PostDisconnect, instance);
if (freerdp_channels_disconnect(instance->context->channels, instance) != CHANNEL_RC_OK)
if (freerdp_channels_disconnect(instance->context->channels,
instance) != CHANNEL_RC_OK)
rc = FALSE;
if (instance->update->pcap_rfx)
@ -404,6 +406,7 @@ BOOL freerdp_disconnect(freerdp* instance)
}
codecs_free(instance->context->codecs);
freerdp_channels_close(instance->context->channels, instance);
return rc;
}
@ -623,7 +626,6 @@ void freerdp_context_free(freerdp* instance)
free(instance->context->errorDescription);
CloseHandle(instance->context->abortEvent);
instance->context->abortEvent = NULL;
freerdp_channels_close(instance->context->channels, instance);
freerdp_channels_free(instance->context->channels);
free(instance->context);
instance->context = NULL;