GtkClipboard: Reset a source id to prevent double free

Fixes #4253.
This commit is contained in:
Gaël Bonithon
2021-09-12 18:00:24 +02:00
parent 1382e54ef6
commit 599ab80c63

View File

@ -2036,7 +2036,8 @@ static gboolean
gtk_clipboard_store_timeout (GtkClipboard *clipboard)
{
g_main_loop_quit (clipboard->store_loop);
clipboard->store_timeout = 0;
return G_SOURCE_REMOVE;
}
@ -2179,8 +2180,12 @@ gtk_clipboard_real_store (GtkClipboard *clipboard)
g_main_loop_unref (clipboard->store_loop);
clipboard->store_loop = NULL;
g_source_remove (clipboard->store_timeout);
clipboard->store_timeout = 0;
if (clipboard->store_timeout != 0)
{
g_source_remove (clipboard->store_timeout);
clipboard->store_timeout = 0;
}
g_signal_handler_disconnect (clipboard_widget, clipboard->notify_signal_id);
clipboard->notify_signal_id = 0;