[gtk/wip/baedert/for-master] window: ref() window before removing from toplevel list



commit fb9b78898fd1324f8f8b35d945d9877efd25ed0e
Author: Timm Bäder <mail baedert org>
Date:   Wed May 13 11:34:33 2020 +0200

    window: ref() window before removing from toplevel list
    
    The docs don't say but g_list_store_remove will unref() the item.
    
    Fixes #2741
    Fixes #2742

 gtk/gtkwindow.c | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 266aeda851..0904f30181 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -7489,12 +7489,15 @@ gtk_window_destroy (GtkWindow *window)
 
   gtk_tooltip_unset_surface (GTK_NATIVE (window));
 
+  g_object_ref (window);
+
   for (i = 0; i < g_list_model_get_n_items (G_LIST_MODEL (toplevel_list)); i++)
     {
       gpointer item = g_list_model_get_item (G_LIST_MODEL (toplevel_list), i);
       if (item == window)
         {
           g_list_store_remove (toplevel_list, i);
+          g_object_unref (item);
           break;
         }
       else


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