X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=lib%2Ftrace-ir%2Fstream-class.c;h=9d016844f83bfe14038dbe1845e1bc78679607c8;hp=d3e1e90ec834fd070da22e0ff6417ad4d428375d;hb=238b7404b66983c6ba15c3a44bfbf642f20bdabe;hpb=140e6d943ff8f5657db28fbbe24ee8c98b7ca2f9 diff --git a/lib/trace-ir/stream-class.c b/lib/trace-ir/stream-class.c index d3e1e90e..9d016844 100644 --- a/lib/trace-ir/stream-class.c +++ b/lib/trace-ir/stream-class.c @@ -56,23 +56,26 @@ void destroy_stream_class(struct bt_object *obj) BT_LIB_LOGD("Destroying stream class: %!+S", stream_class); BT_LOGD_STR("Putting default clock class."); - bt_object_put_ref(stream_class->default_clock_class); + BT_OBJECT_PUT_REF_AND_RESET(stream_class->default_clock_class); if (stream_class->event_classes) { BT_LOGD_STR("Destroying event classes."); g_ptr_array_free(stream_class->event_classes, TRUE); + stream_class->event_classes = NULL; } if (stream_class->name.str) { g_string_free(stream_class->name.str, TRUE); + stream_class->name.str = NULL; + stream_class->name.value = NULL; } BT_LOGD_STR("Putting event header field classe."); - bt_object_put_ref(stream_class->event_header_fc); + BT_OBJECT_PUT_REF_AND_RESET(stream_class->event_header_fc); BT_LOGD_STR("Putting packet context field classe."); - bt_object_put_ref(stream_class->packet_context_fc); + BT_OBJECT_PUT_REF_AND_RESET(stream_class->packet_context_fc); BT_LOGD_STR("Putting event common context field classe."); - bt_object_put_ref(stream_class->event_common_context_fc); + BT_OBJECT_PUT_REF_AND_RESET(stream_class->event_common_context_fc); bt_object_pool_finalize(&stream_class->event_header_field_pool); bt_object_pool_finalize(&stream_class->packet_context_field_pool); g_free(stream_class);