src.ctf.fs: make ctf_visitor_generate_ir::trace_class a bt2::TraceClass::Shared
[babeltrace.git] / src / plugins / ctf / fs-src / metadata.cpp
index a5402c1dec0f742df9ba4e4fc0ad284a26546742..abddc2bb06952c5d9b3feaa4faab8abdf2288690 100644 (file)
@@ -62,6 +62,7 @@ int ctf_fs_metadata_set_trace_class(bt_self_component *self_comp, struct ctf_fs_
                                     const ctf::src::ClkClsCfg& clkClsCfg)
 {
     int ret = 0;
+    bt2::TraceClass::Shared traceCls;
     ctf_metadata_decoder_config decoder_config {ctf_fs_trace->logger};
 
     decoder_config.self_comp = self_comp;
@@ -89,9 +90,12 @@ int ctf_fs_metadata_set_trace_class(bt_self_component *self_comp, struct ctf_fs_
         goto end;
     }
 
-    ctf_fs_trace->metadata->trace_class =
-        ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get());
+    traceCls = ctf_metadata_decoder_get_ir_trace_class(ctf_fs_trace->metadata->decoder.get());
+    if (traceCls) {
+        ctf_fs_trace->metadata->trace_class = traceCls.release().libObjPtr();
+    }
     BT_ASSERT(!self_comp || ctf_fs_trace->metadata->trace_class);
+
     ctf_fs_trace->metadata->tc =
         ctf_metadata_decoder_borrow_ctf_trace_class(ctf_fs_trace->metadata->decoder.get());
     BT_ASSERT(ctf_fs_trace->metadata->tc);
This page took 0.026139 seconds and 4 git commands to generate.