[gtk/gtk-3-24: 1/2] GtkClipboard: Reset a source id to prevent double free




commit 599ab80c635d3471eda08f75702a321c091f5788
Author: Gaƫl Bonithon <gael xfce org>
Date:   Sun Sep 12 18:00:24 2021 +0200

    GtkClipboard: Reset a source id to prevent double free
    
    Fixes #4253.

 gtk/gtkclipboard.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkclipboard.c b/gtk/gtkclipboard.c
index c34c8024bf..b0caf16fdf 100644
--- a/gtk/gtkclipboard.c
+++ b/gtk/gtkclipboard.c
@@ -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;
   


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]