summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-11-10 09:07:01 -0500
committerMatthias Clasen <mclasen@redhat.com>2020-11-10 09:07:01 -0500
commitd63afaf5ad93bd39ce33355a1035c4653e5ed1e5 (patch)
tree1c8469876338eb9dd6b85639a06be30c8731cafd
parent7e089664fc4f5c166007cf603bbbfcd707ab2f19 (diff)
downloadgtk+-d63afaf5ad93bd39ce33355a1035c4653e5ed1e5.tar.gz
x11: Plug listmodel memory leaks
We were leaking references returned from g_list_model_get_item in some places.
-rw-r--r--gdk/x11/gdkscreen-x11.c7
1 files changed, 1 insertions, 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);
}