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);
bt_field_class_make_part_of_trace(field_class);
bt_object_put_ref(stream_class->packet_context_fc);
- stream_class->packet_context_fc = bt_object_get_ref(field_class);
+ stream_class->packet_context_fc = field_class;
+ bt_object_get_no_null_check(stream_class->packet_context_fc);
bt_field_class_freeze(field_class);
BT_LIB_LOGV("Set stream class's packet context field classe: %!+S",
stream_class);
bt_field_class_make_part_of_trace(field_class);
bt_object_put_ref(stream_class->event_header_fc);
- stream_class->event_header_fc = bt_object_get_ref(field_class);
+ stream_class->event_header_fc = field_class;
+ bt_object_get_no_null_check(stream_class->event_header_fc);
bt_field_class_freeze(field_class);
BT_LIB_LOGV("Set stream class's event header field classe: %!+S",
stream_class);
bt_field_class_make_part_of_trace(field_class);
bt_object_put_ref(stream_class->event_common_context_fc);
- stream_class->event_common_context_fc = bt_object_get_ref(field_class);
+ stream_class->event_common_context_fc = field_class;
+ bt_object_get_no_null_check(stream_class->event_common_context_fc);
bt_field_class_freeze(field_class);
BT_LIB_LOGV("Set stream class's event common context field classe: %!+S",
stream_class);
BT_ASSERT_PRE_NON_NULL(clock_class, "Clock class");
BT_ASSERT_PRE_STREAM_CLASS_HOT(stream_class);
bt_object_put_ref(stream_class->default_clock_class);
- stream_class->default_clock_class = bt_object_get_ref(clock_class);
+ stream_class->default_clock_class = clock_class;
+ bt_object_get_no_null_check(stream_class->default_clock_class);
bt_clock_class_freeze(clock_class);
BT_LIB_LOGV("Set stream class's default clock class: %!+S",
stream_class);