diff --git a/ChangeLog b/ChangeLog index fd91a21960..458f7640a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-02-05 David Schleef + + * 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 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init), diff --git a/gst/gst.c b/gst/gst.c index 8bb4570c42..109e8657f3 100644 --- a/gst/gst.c +++ b/gst/gst.c @@ -128,6 +128,7 @@ #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"); }