From 5278dd648659c1e4f43bb8b0738659772e7a1461 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 22 Apr 2009 12:35:56 +0200 Subject: [PATCH] Dispose GLib.Values after usage to close a memory leak --- gstreamer-sharp/DynamicSignal.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gstreamer-sharp/DynamicSignal.cs b/gstreamer-sharp/DynamicSignal.cs index 9da08cd..91ca549 100644 --- a/gstreamer-sharp/DynamicSignal.cs +++ b/gstreamer-sharp/DynamicSignal.cs @@ -285,7 +285,15 @@ namespace Gst { g_signal_emitv (signal_parameters, query.signal_id, signal_detail_quark, ref return_value); - return (query.return_type != GType.Invalid && query.return_type != GType.None) ? return_value.Val : null; + foreach (GLib.Value v in signal_parameters) + v.Dispose (); + + object ret = (query.return_type != GType.Invalid && query.return_type != GType.None) ? return_value.Val : null; + + if (ret != null) + return_value.Dispose (); + + return ret; } [DllImport ("gstreamersharpglue-0.10") ] -- 2.7.4