gobjects referenced in attributes. No more recursive_free
[lttv.git] / ltt / branches / poly / lttv / lttv / state.c
index aa235f2d27ee350580ec30ac8613198b9d900b72..d8cbe8c63c2c4a83f1e018981e231bc2ce66a649 100644 (file)
@@ -472,6 +472,7 @@ static void state_saved_free(LttvTraceState *self, LttvAttribute *container)
 
   tracefiles_tree = lttv_attribute_find_subdir(container, 
       LTTV_STATE_TRACEFILES);
+  g_object_ref(G_OBJECT(tracefiles_tree));
   lttv_attribute_remove_by_name(container, LTTV_STATE_TRACEFILES);
 
   type = lttv_attribute_get_by_name(container, LTTV_STATE_PROCESSES, 
@@ -495,7 +496,7 @@ static void state_saved_free(LttvTraceState *self, LttvAttribute *container)
     g_assert(type == LTTV_POINTER);
     if(*(value.v_pointer) != NULL) g_free(*(value.v_pointer));
   }
-  lttv_attribute_recursive_free(tracefiles_tree);
+  g_object_unref(G_OBJECT(tracefiles_tree));
 }
 
 
@@ -522,7 +523,6 @@ static void free_saved_state(LttvTraceState *self)
   }
 
   lttv_attribute_remove_by_name(self->parent.t_a, LTTV_STATE_SAVED_STATES);
-  lttv_attribute_recursive_free(saved_states);
 }
 
 
This page took 0.042062 seconds and 4 git commands to generate.