gst/gst.c: Add a separate gst_deinitialized that prevents gst_init() from being calle...
authorDavid Schleef <ds@schleef.org>
Tue, 5 Feb 2008 18:37:08 +0000 (18:37 +0000)
committerDavid Schleef <ds@schleef.org>
Tue, 5 Feb 2008 18:37:08 +0000 (18:37 +0000)
Original commit message from CVS:
* gst/gst.c: Add a separate gst_deinitialized that prevents
gst_init() from being called after gst_deinit().  Fixes #509559

ChangeLog
gst/gst.c

index fd91a21..458f764 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-05  David Schleef  <ds@schleef.org>
+
+       * gst/gst.c: Add a separate gst_deinitialized that prevents
+         gst_init() from being called after gst_deinit().  Fixes #509559
+
 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
 
        * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
index 8bb4570..109e865 100644 (file)
--- a/gst/gst.c
+++ b/gst/gst.c
 #define GST_PLUGIN_SEPARATOR ","
 
 static gboolean gst_initialized = FALSE;
+static gboolean gst_deinitialized = FALSE;
 
 #ifndef GST_DISABLE_REGISTRY
 static GList *plugin_paths = NULL;      /* for delayed processing in post_init */
@@ -1209,7 +1210,7 @@ gst_deinit (void)
 
   GST_INFO ("deinitializing GStreamer");
 
-  if (!gst_initialized) {
+  if (gst_deinitialized) {
     GST_DEBUG ("already deinitialized");
     return;
   }
@@ -1241,7 +1242,7 @@ gst_deinit (void)
 #endif /* GST_DISABLE_INDEX */
   g_type_class_unref (g_type_class_peek (gst_param_spec_fraction_get_type ()));
 
-  gst_initialized = FALSE;
+  gst_deinitialized = TRUE;
   GST_INFO ("deinitialized GStreamer");
 }