mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
Merge pull request #11661 from akallabeth/sdl-clip-leak
[client,sdl] fix clipboard leak
This commit is contained in:
@@ -70,6 +70,7 @@ void sdl_OnChannelDisconnectedEventHandler(void* context, const ChannelDisconnec
|
||||
{
|
||||
auto clip = reinterpret_cast<CliprdrClientContext*>(e->pInterface);
|
||||
WINPR_ASSERT(clip);
|
||||
(void)sdl->clip.uninit(clip);
|
||||
clip->custom = nullptr;
|
||||
}
|
||||
else if (strcmp(e->name, DISP_DVC_CHANNEL_NAME) == 0)
|
||||
|
||||
@@ -1161,10 +1161,6 @@ static void sdl_post_disconnect(freerdp* instance)
|
||||
auto sdl = get_context(instance->context);
|
||||
sdl->setConnected(false);
|
||||
|
||||
PubSub_UnsubscribeChannelConnected(instance->context->pubSub,
|
||||
sdl_OnChannelConnectedEventHandler);
|
||||
PubSub_UnsubscribeChannelDisconnected(instance->context->pubSub,
|
||||
sdl_OnChannelDisconnectedEventHandler);
|
||||
gdi_free(instance);
|
||||
}
|
||||
|
||||
@@ -1175,6 +1171,11 @@ static void sdl_post_final_disconnect(freerdp* instance)
|
||||
|
||||
if (!instance->context)
|
||||
return;
|
||||
|
||||
PubSub_UnsubscribeChannelConnected(instance->context->pubSub,
|
||||
sdl_OnChannelConnectedEventHandler);
|
||||
PubSub_UnsubscribeChannelDisconnected(instance->context->pubSub,
|
||||
sdl_OnChannelDisconnectedEventHandler);
|
||||
}
|
||||
|
||||
static void sdl_client_cleanup(SdlContext* sdl, int exit_code, const std::string& error_msg)
|
||||
|
||||
Reference in New Issue
Block a user