request servicing fix
[lttv.git] / ltt / branches / poly / lttv / lttv / state.c
index 3db6237aebe37fa084f3180ca6ca4b54d4b18af8..d8cbe8c63c2c4a83f1e018981e231bc2ce66a649 100644 (file)
@@ -87,7 +87,7 @@ void lttv_state_restore(LttvTraceState *self, LttvAttribute *container)
 }
 
 
-void lttv_state__state_saved_free(LttvTraceState *self, 
+void lttv_state_state_saved_free(LttvTraceState *self, 
     LttvAttribute *container)
 {
   LTTV_TRACE_STATE_GET_CLASS(self)->state_saved_free(self, container);
@@ -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.02331 seconds and 4 git commands to generate.