gst/gstelement.c (gst_element_dispose): More helpful message.
authorAndy Wingo <wingo@pobox.com>
Tue, 18 Oct 2005 10:32:48 +0000 (10:32 +0000)
committerAndy Wingo <wingo@pobox.com>
Tue, 18 Oct 2005 10:32:48 +0000 (10:32 +0000)
Original commit message from CVS:
2005-10-18  Andy Wingo  <wingo@pobox.com>

* gst/gstelement.c (gst_element_dispose): More helpful message.

ChangeLog
common
gst/gstelement.c

index 4e14630..29359eb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-10-18  Andy Wingo  <wingo@pobox.com>
+
+       * gst/gstelement.c (gst_element_dispose): More helpful message.
+
 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * gst/gstregistry.c: (gst_registry_scan_path_level):
diff --git a/common b/common
index c177a03..1cb5d7b 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit c177a03619c91e42d301ee181828f3ee4753b0bf
+Subproject commit 1cb5d7b76a01c711674c752015089e70c394fa99
index 2424534..b69c3ae 100644 (file)
@@ -2274,7 +2274,14 @@ gst_element_dispose (GObject * object)
 
   GST_CAT_INFO_OBJECT (GST_CAT_REFCOUNTING, element, "dispose");
 
-  g_return_if_fail (GST_STATE (element) == GST_STATE_NULL);
+  if (GST_STATE (element) != GST_STATE_NULL) {
+    g_critical
+        ("\nTrying to dispose element %s, but it is not in the NULL state.\n"
+        "You need to explicitly set elements to the NULL state before\n"
+        "dropping the final reference, to allow them to clean up.\n",
+        GST_OBJECT_NAME (element));
+    return;
+  }
   g_return_if_fail (GST_STATE_PENDING (element) == GST_STATE_VOID_PENDING);
 
   /* first we break all our links with the outside */