Dispose some more GLib.Values after usage
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 22 Apr 2009 10:40:17 +0000 (12:40 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 22 Apr 2009 10:40:17 +0000 (12:40 +0200)
gstreamer-sharp/Structure.custom
gstreamer-sharp/TagList.custom
gstreamer-sharp/Value.cs

index 43af59d2821dd75af499f3864cf42f8cd995bd24..1a3d930b488c6eab5734dbde5923099b33c334d1 100644 (file)
@@ -158,7 +158,9 @@ public object Get (string field) {
 }
 
 public void Set (string field, object value) {
-  SetValue (field, new GLib.Value (value));
+  GLib.Value v = new GLib.Value (value);
+  SetValue (field, v);
+  v.Dispose ();
 }
 
 public void Set (params object[] fields) {
@@ -171,7 +173,9 @@ public void Set (params object[] fields) {
     if (fields[i].GetType () != typeof (string))
       throw new ArgumentException ();
 
-    SetValue (fields[i] as string, new GLib.Value (fields[i+1]));
+    GLib.Value v = new GLib.Value (fields[i+1]);
+    SetValue (fields[i] as string, v);
+    v.Dispose ();
   }
 }
 
index 3a0405c08f3beae7ff462352f1fdeab98512ded6..f8ebd5afe581102c75cd9387efde510c31538fd3 100644 (file)
@@ -68,6 +68,7 @@ public void Add (Gst.TagMergeMode mode, string tag, object value) {
 
   IntPtr raw_string = GLib.Marshaller.StringToPtrGStrdup (tag);
   gstsharp_gst_tag_list_add_value (Handle, mode, raw_string, ref v);
+  v.Dispose ();
   GLib.Marshaller.Free (raw_string);
 }
 
index f45cba0ca292dfbe5006faf6a963aeae2828a106..bd888bd7b183565745842d44fd108fabe9e921fd 100644 (file)
@@ -269,6 +269,8 @@ namespace Gst {
       GLib.Value min = new GLib.Value (Min);
       GLib.Value max = new GLib.Value (Max);
       gst_value_set_fraction_range (ref val, ref min, ref max);
+      min.Dispose ();
+      max.Dispose ();
     }
 
     public override string ToString () {
@@ -281,6 +283,8 @@ namespace Gst {
       GLib.Value min = new GLib.Value (range.Min);
       GLib.Value max = new GLib.Value (range.Max);
       gst_value_set_fraction_range (ref val, ref min, ref max);
+      min.Dispose ();
+      max.Dispose ();
       return val;
     }
 
@@ -469,6 +473,7 @@ namespace Gst {
       foreach (object o in content) {
         GLib.Value v = new GLib.Value (o);
         gst_value_list_append_value (ref val, ref v);
+       v.Dispose ();
       }
     }
 
@@ -492,6 +497,7 @@ namespace Gst {
       foreach (object o in l.content) {
         GLib.Value v = new GLib.Value (o);
         gst_value_list_append_value (ref val, ref v);
+       v.Dispose ();
       }
 
       return val;
@@ -552,6 +558,7 @@ namespace Gst {
       foreach (object o in content) {
         GLib.Value v = new GLib.Value (o);
         gst_value_array_append_value (ref val, ref v);
+       v.Dispose ();
       }
     }
 
@@ -561,6 +568,7 @@ namespace Gst {
       foreach (object o in a.content) {
         GLib.Value v = new GLib.Value (o);
         gst_value_array_append_value (ref val, ref v);
+       v.Dispose ();
       }
 
       return val;