{
WINPR_UNUSED(client);
- if (context)
- WTSCloseServer((HANDLE) context->vcm);
+ if (!context)
+ return;
+
+ WTSCloseServer((HANDLE) context->vcm);
+
+ if (context->dynvcReady)
+ {
+ CloseHandle(context->dynvcReady);
+ context->dynvcReady = NULL;
+ }
}
BOOL init_p_server_context(freerdp_peer* client)
void proxy_data_free(proxyData* pdata)
{
connection_info_free(pdata->info);
+ if (pdata->connectionClosed)
+ {
+ CloseHandle(pdata->connectionClosed);
+ pdata->connectionClosed = NULL;
+ }
+
free(pdata);
}
disp_server_context_free(ps->disp);
}
+ if (ps->gfx)
+ rdpgfx_server_context_free(ps->gfx);
+
if (client->connected && !pf_common_connection_aborted_by_peer(pdata))
{
pf_server_handle_client_disconnection(client);
}
- pc = (rdpContext*)pdata->pc;
+ pc = (rdpContext*) pdata->pc;
freerdp_client_stop(pc);
proxy_data_free(pdata);
freerdp_client_context_free(pc);