From 52a422f637f017e3dcf3ed7b32e2dfb7402c705d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 10 Aug 2011 09:02:52 +0200 Subject: [PATCH] omx: Make component destruction safer --- omx/gstomx.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/omx/gstomx.c b/omx/gstomx.c index 8b6eea89e2..231a0abf6f 100644 --- a/omx/gstomx.c +++ b/omx/gstomx.c @@ -260,7 +260,7 @@ EventHandler (OMX_HANDLETYPE hComponent, OMX_PTR pAppData, OMX_EVENTTYPE eEvent, port_index); /* Now update the ports' states */ - n = comp->ports->len; + n = (comp->ports ? comp->ports->len : 0); for (i = 0; i < n; i++) { GstOMXPort *port = g_ptr_array_index (comp->ports, i); @@ -465,13 +465,15 @@ gst_omx_component_free (GstOMXComponent * comp) #else g_ptr_array_free (comp->ports, TRUE); #endif + comp->ports = NULL; } + comp->core->free_handle (comp->handle); + gst_omx_core_release (comp->core); + g_cond_free (comp->state_cond); g_mutex_free (comp->state_lock); - comp->core->free_handle (comp->handle); - gst_omx_core_release (comp->core); gst_object_unref (comp->parent); }