git-svn-id: http://ltt.polymtl.ca/svn@473 04897980-b3bd-0310-b5e0-8ef037075253
[lttv.git] / ltt / branches / poly / lttv / modules / gui / detailedevents / events.c
index 02ad79a094c4c5f365a596c325c0fc8e43a07e1f..82f83500b545466e46c0a058cd32cbf79a2df8d5 100644 (file)
@@ -46,7 +46,7 @@
 
 #include <lttv/module.h>
 #include <lttv/hook.h>
-#include <lttv/gtkTraceSet.h>
+#include <lttv/gtktraceset.h>
 #include <lttv/processTrace.h>
 #include <lttv/state.h>
 #include <ltt/ltt.h>
@@ -478,12 +478,12 @@ gui_events(MainWindow *parent_window, LttvTracesetSelector * s,char* key )
         G_OBJECT(event_viewer_data->hbox_v),
         MAX_NUMBER_EVENT,
         &event_viewer_data->size);
-  
+/*  
   g_object_set_data(
         G_OBJECT(event_viewer_data->hbox_v),
         TRACESET_TIME_SPAN,
         &event_viewer_data->time_span);
-
+*/
   event_viewer_data->filter_key = g_strdup(key);
   g_object_set_data(
         G_OBJECT(event_viewer_data->hbox_v),
@@ -805,6 +805,12 @@ gboolean show_event_detail(void * hook_data, void * call_data)
   EventViewerData *event_viewer_data = (EventViewerData*) hook_data;
   LttvTracesetContext * tsc = get_traceset_context(event_viewer_data->mw);
 
+  if(event_viewer_data->raw_trace_data_queue_tmp->length == 0 &&
+     event_viewer_data->raw_trace_data_queue->length == 0){
+    event_viewer_data->shown = FALSE;
+    return FALSE;
+  }
+
   if(event_viewer_data->shown == FALSE){
     event_viewer_data->shown = TRUE;
     update_raw_data_array(event_viewer_data, 
@@ -1201,6 +1207,7 @@ gui_events_free(EventViewerData *event_viewer_data)
     unreg_show_viewer(show_event_detail,event_viewer_data, event_viewer_data->mw);
     unreg_update_traceset(traceset_changed,event_viewer_data, event_viewer_data->mw);
 
+    g_free(event_viewer_data->filter_key);
     g_event_viewer_data_list = g_slist_remove(g_event_viewer_data_list, event_viewer_data);
     g_free(event_viewer_data);
   }
@@ -1213,8 +1220,8 @@ gui_events_destructor(EventViewerData *event_viewer_data)
 
   /* May already been done by GTK window closing */
   if(GTK_IS_WIDGET(event_viewer_data->hbox_v)){
+    gui_events_free(event_viewer_data);
     gtk_widget_destroy(event_viewer_data->hbox_v);
-    g_free(event_viewer_data->filter_key);
     event_viewer_data = NULL;
   }
   
@@ -1441,6 +1448,8 @@ gboolean update_current_time(void * hook_data, void * call_data)
   int i, j;
   LttTime t;
 
+  if(!event_viewer_data->raw_trace_data_queue->head) return FALSE;
+
   if(event_viewer_data->current_time_updated ){
     event_viewer_data->current_time_updated = FALSE;
     return FALSE;
This page took 0.023755 seconds and 4 git commands to generate.