From 3c4bf5f4e3f296b4f147602817b1aa17b419682e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 1 May 2009 17:05:49 +0200 Subject: [PATCH] Handle NULL GstIterator* correctly --- gstreamer-sharp/Element.custom | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gstreamer-sharp/Element.custom b/gstreamer-sharp/Element.custom index 762b92a..a7d18c9 100644 --- a/gstreamer-sharp/Element.custom +++ b/gstreamer-sharp/Element.custom @@ -54,6 +54,9 @@ private class PadEnumerable : IEnumerable { IntPtr raw_ret; bool retry = false; + if (iterator == IntPtr.Zero) + return false; + do { int ret = gst_iterator_next (iterator, out raw_ret); switch (ret) { @@ -82,7 +85,8 @@ private class PadEnumerable : IEnumerable { public void Reset () { seen.Clear (); - gst_iterator_resync (iterator); + if (iterator != IntPtr.Zero) + gst_iterator_resync (iterator); } public PadEnumerator (IntPtr iterator) { @@ -103,7 +107,8 @@ private class PadEnumerable : IEnumerable { } ~PadEnumerable () { - gst_iterator_free (iterator); + if (iterator != IntPtr.Zero) + gst_iterator_free (iterator); } } -- 2.7.4