+ &hashed_process_data) == 1)
+ {
+ /* Process not present */
+ processlist_add(process_list,
+ pid_out,
+ &birth,
+ tfc->t_context->index,
+ name,
+ &pl_height,
+ &hashed_process_data);
+ processlist_get_process_pixels(process_list,
+ pid_out,
+ &birth,
+ tfc->t_context->index,
+ &y,
+ &height,
+ &hashed_process_data);
+ drawing_insert_square( drawing, y, height);
+ }
+
+ /* Now, the process is in the state hash and our own process hash.
+ * We definitely can draw the items related to the ending state.
+ */
+
+ /* Check if the x position is unset. In can have been left unset by
+ * a draw closure from a after chunk hook. This should never happen,
+ * because it must be set by before chunk hook to the damage_begin
+ * value.
+ */
+ g_assert(hashed_process_data->x != -1);
+ {
+ guint x;
+ DrawContext draw_context;
+
+ convert_time_to_pixels(
+ time_window.start_time,
+ end_time,
+ evtime,
+ width,
+ &x);
+
+ /* Now create the drawing context that will be used to draw
+ * items related to the last state. */
+ draw_context.drawable = drawing->pixmap;
+ draw_context.gc = drawing->gc;
+ draw_context.pango_layout = drawing->pango_layout;
+ draw_context.drawinfo.start.x = hashed_process_data->x;
+ draw_context.drawinfo.end.x = x;
+
+ draw_context.drawinfo.y.over = y;
+ draw_context.drawinfo.y.middle = y+(height/4);
+ draw_context.drawinfo.y.under = y+(height/2)+2;
+
+ draw_context.drawinfo.start.offset.over = 0;
+ draw_context.drawinfo.start.offset.middle = 0;
+ draw_context.drawinfo.start.offset.under = 0;
+ draw_context.drawinfo.end.offset.over = 0;
+ draw_context.drawinfo.end.offset.middle = 0;
+ draw_context.drawinfo.end.offset.under = 0;
+
+ {
+ /* Draw the line */
+ PropertiesLine prop_line = prepare_line(process);
+ draw_line((void*)&prop_line, (void*)&draw_context);
+
+ }
+ /* become the last x position */
+ hashed_process_data->x = x;
+ }