Add config.h support : will fix the LARGEFILE problem
[lttv.git] / ltt / branches / poly / lttv / modules / gui / controlflow / drawing.c
index 6648c9579e1229c30acd4e89ea28eb08d1fd59c8..b4411bc422b1eb15bcfe14a5ef264bf3e01f3532 100644 (file)
  * MA 02111-1307, USA.
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <gtk/gtk.h>
 #include <gdk/gdk.h>
 #include <string.h>
@@ -68,8 +72,8 @@ GdkColor drawing_colors[NUM_COLORS] =
   { 0, 0x0000, 0xFF00, 0x0000 }, /* COL_RUN_USER_MODE : green */
   { 0, 0x0100, 0x9E00, 0xFFFF }, /* COL_RUN_SYSCALL : pale blue */
   { 0, 0xFF00, 0xFF00, 0x0100 }, /* COL_RUN_TRAP : yellow */
-  { 0, 0xFFFF, 0x0000, 0x0000 }, /* COL_RUN_IRQ : red */
-  { 0, 0xA3FF, 0x0000, 0x0000 }, /* COL_WAIT : dark red */
+  { 0, 0xFFFF, 0x5E00, 0x0000 }, /* COL_RUN_IRQ : red */
+  { 0, 0x6600, 0x0000, 0x0000 }, /* COL_WAIT : dark red */
   { 0, 0x7700, 0x7700, 0x0000 }, /* COL_WAIT_CPU : dark yellow */
   { 0, 0x6400, 0x0000, 0x5D00 }, /* COL_ZOMBIE : dark purple */
   { 0, 0x0700, 0x6400, 0x0000 }, /* COL_WAIT_FORK : dark green */
@@ -559,6 +563,15 @@ configure_event( GtkWidget *widget, GdkEventConfigure *event,
         widget->allocation.height != 1)
         && drawing->damage_begin < drawing->damage_end)
     {
+
+      rectangle_pixmap (drawing->control_flow_data->process_list,
+        drawing->drawing_area->style->black_gc,
+        TRUE,
+        0, 0,
+        drawing->alloc_width, // do not overlap
+        -1);
+
+
       drawing_data_request(drawing,
                            drawing->damage_begin,
                            0,
@@ -603,6 +616,7 @@ expose_event( GtkWidget *widget, GdkEventExpose *event, gpointer user_data )
       event->area.x, event->area.y,
       event->area.width, event->area.height);
 #endif //0
+  drawing->height = processlist_get_height(control_flow_data->process_list);
   copy_pixmap_to_screen(control_flow_data->process_list,
                         widget->window,
                         widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
@@ -611,7 +625,6 @@ expose_event( GtkWidget *widget, GdkEventExpose *event, gpointer user_data )
                         
   
   /* Erase the dotted lines left.. */
-#if 0
   if(widget->allocation.height > drawing->height)
   {
     gdk_draw_rectangle (widget->window,
@@ -621,7 +634,6 @@ expose_event( GtkWidget *widget, GdkEventExpose *event, gpointer user_data )
       event->area.width,  // do not overlap
       widget->allocation.height - drawing->height);
   }
-#endif //0
   if(ltt_time_compare(time_window.start_time, current_time) <= 0 &&
            ltt_time_compare(window_end, current_time) >= 0)
   {
@@ -649,11 +661,11 @@ expose_event( GtkWidget *widget, GdkEventExpose *event, gpointer user_data )
                         dash_list,
                         2);
     }
-    
+    gint height_tot = MAX(widget->allocation.height, drawing->height);
     gdk_draw_line(widget->window,
                   drawing->dotted_gc,
                   cursor_x, 0,
-                  cursor_x, widget->allocation.height);
+                  cursor_x, height_tot);
   }
   return FALSE;
 }
@@ -919,7 +931,7 @@ void drawing_destroy(Drawing_t *drawing)
     gdk_gc_unref(drawing->gc);
   
   g_free(drawing->pango_layout);
-  if(!drawing->dotted_gc) gdk_gc_unref(drawing->dotted_gc);
+  if(drawing->dotted_gc != NULL) gdk_gc_unref(drawing->dotted_gc);
   g_free(drawing);
   g_info("drawing_destroy end");
 }
This page took 0.024292 seconds and 4 git commands to generate.