[gtk/matthiasc/for-master: 3/6] x11: Plug listmodel memory leaks




commit d63afaf5ad93bd39ce33355a1035c4653e5ed1e5
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Nov 10 09:07:01 2020 -0500

    x11: Plug listmodel memory leaks
    
    We were leaking references returned from g_list_model_get_item
    in some places.

 gdk/x11/gdkscreen-x11.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
---
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
index 672165412e..9cb8be6746 100644
--- a/gdk/x11/gdkscreen-x11.c
+++ b/gdk/x11/gdkscreen-x11.c
@@ -613,10 +613,8 @@ init_randr15 (GdkX11Screen *x11_screen)
       notify_surface_monitor_change (x11_display, GDK_MONITOR (monitor));
       if (monitor->remove)
         {
-          g_object_ref (monitor);
           g_list_store_remove (x11_display->monitors, i);
           gdk_monitor_invalidate (GDK_MONITOR (monitor));
-          g_object_unref (monitor);
         }
       g_object_unref (monitor);
     }
@@ -764,11 +762,10 @@ init_randr13 (GdkX11Screen *x11_screen)
       notify_surface_monitor_change (x11_display, GDK_MONITOR (monitor));
       if (monitor->remove)
         {
-          g_object_ref (monitor);
           g_list_store_remove (x11_display->monitors, i);
           gdk_monitor_invalidate (GDK_MONITOR (monitor));
-          g_object_unref (monitor);
         }
+      g_object_unref (monitor);
     }
 
   x11_display->primary_monitor = 0;
@@ -852,10 +849,8 @@ init_no_multihead (GdkX11Screen *x11_screen)
       notify_surface_monitor_change (x11_display, GDK_MONITOR (monitor));
       if (monitor->remove)
         {
-          g_object_ref (monitor);
           g_list_store_remove (x11_display->monitors, i);
           gdk_monitor_invalidate (GDK_MONITOR (monitor));
-          g_object_unref (monitor);
         }
       g_object_unref (monitor);
     }


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