Fix some leaks
authorKrzesimir Nowak <qdlacz@gmail.com>
Tue, 27 Mar 2018 11:14:41 +0000 (13:14 +0200)
committerKrzesimir Nowak <qdlacz@gmail.com>
Tue, 27 Mar 2018 11:14:41 +0000 (13:14 +0200)
gtk/gtkcolorbutton.c
gtk/gtkcolorswatch.c
gtk/gtkiconhelper.c

index 4ef68a18759f14522d90d422b67d978865801717..084105a0f471738bc131bc101b93e76aa7ba854f 100644 (file)
@@ -334,6 +334,7 @@ set_color_icon (GdkDragContext *context,
   paintable = gtk_snapshot_free_to_paintable (snapshot);
 
   gtk_drag_set_icon_paintable (context, paintable, 0, 0);
+  g_object_unref (paintable);
 }
 
 static void
index a40b334c0e995f9c8d47650a4a266af527dcf8ee..5f4a8eeb41d400eb1956a0d0b1c22fbfb7137c17 100644 (file)
@@ -178,6 +178,7 @@ drag_set_color_icon (GdkDragContext *context,
   paintable = gtk_snapshot_free_to_paintable (snapshot);
 
   gtk_drag_set_icon_paintable (context, paintable, 4, 4);
+  g_object_unref (paintable);
 }
 
 static void
index e182836833826ae0fc640551c6bacda0ae3a25d3..ca7e308870e5518220895c38df3ffe5861c8ca41 100644 (file)
@@ -136,7 +136,12 @@ ensure_paintable_for_gicon (GtkIconHelper    *self,
   *symbolic = gtk_icon_info_is_symbolic (info);
   paintable = GDK_PAINTABLE (gtk_icon_info_load_texture (info));
   if (paintable && scale != 1)
-    paintable = gtk_scaler_new (paintable, scale);
+    {
+      GdkPaintable *orig = paintable;
+
+      paintable = gtk_scaler_new (orig, scale);
+      g_object_unref (orig);
+    }
 
   return paintable;
 }