diff --git a/channels/drdynvc/client/drdynvc_main.c b/channels/drdynvc/client/drdynvc_main.c index fe2821a6a..c14d66dff 100644 --- a/channels/drdynvc/client/drdynvc_main.c +++ b/channels/drdynvc/client/drdynvc_main.c @@ -509,11 +509,12 @@ static UINT dvcman_channel_close(DVCMAN_CHANNEL* channel, BOOL perRequest, BOOL channel->state = DVC_CHANNEL_CLOSED; { + check_open_close_receive(channel); + IWTSVirtualChannelCallback* cb = channel->channel_callback; channel->channel_callback = NULL; if (cb) { - check_open_close_receive(channel); IFCALL(cb->OnClose, cb); } }