Add member timestamp and cpuid to LttvTracesetPosition to improve the comparaison...
[lttv.git] / lttv / modules / gui / detailedevents / events.c
index 5f1323219a6f7d423de8e3f52aef72050cff2464..1c95569a8613e4421da0eb026ed25a433c9bc4c6 100644 (file)
@@ -1599,6 +1599,9 @@ static void event_update_selection(EventViewerData *event_viewer_data)
   guint i;
   GPtrArray *positions = event_viewer_data->pos;
   g_info("event_update_selection");
+  
+  int isFound = FALSE;
+  
 
   for(i=0;i<positions->len;i++) {
     LttvTracesetPosition *cur_pos = 
@@ -1611,10 +1614,26 @@ static void event_update_selection(EventViewerData *event_viewer_data)
                                     path, NULL, FALSE);
               gtk_widget_grab_focus(event_viewer_data->tree_v );
              gtk_tree_path_free(path);
+              isFound = TRUE;
               break;
                         }               
     }
   } 
+        if(isFound){
+          return;
+        }
+  /* If the current selection is not in the currently displayed events*/
+  LttTime currentTime = lttv_traceset_position_get_time(
+                                event_viewer_data->currently_selected_position);
+  LttTime time;
+  
+  LttvTraceset * ts = lttvwindow_get_traceset(event_viewer_data->tab);
+  TimeInterval time_span = lttv_traceset_get_time_span_real(ts);
+  time = ltt_time_sub(currentTime, time_span.start_time);
+  gtk_adjustment_set_value(event_viewer_data->vadjust_c,
+                                                ltt_time_to_double(time));
+  gtk_widget_grab_focus(event_viewer_data->tree_v );
+  
 }
 
 static int current_time_get_first_event_hook(void *hook_data, void *call_data)
This page took 0.023579 seconds and 4 git commands to generate.