From 8243114d0924982590fb81f0ecb54b39fef41c9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C5=99emysl=20Janouch?=
Date: Sun, 9 Jan 2011 06:05:43 +0100
Subject: [PATCH] Draw diagram objects in reversed order.
Previously older objects drew on top of newer ones.
---
src/ld-canvas.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/ld-canvas.c b/src/ld-canvas.c
index bacef26..2ea676a 100644
--- a/src/ld-canvas.c
+++ b/src/ld-canvas.c
@@ -1246,18 +1246,18 @@ draw_terminal (GtkWidget *widget, DrawData *data)
static void
draw_diagram (GtkWidget *widget, DrawData *data)
{
- GList *objects;
+ GList *objects, *iter;
if (!data->self->priv->diagram)
return;
cairo_save (data->cr);
-
cairo_set_line_width (data->cr, 1 / data->scale);
- /* Draw objects from the diagram. */
- objects = ld_diagram_get_objects (data->self->priv->diagram);
- g_list_foreach (objects, (GFunc) draw_object, data);
+ /* Draw objects from the diagram, from bottom to top. */
+ objects = (GList *) ld_diagram_get_objects (data->self->priv->diagram);
+ for (iter = g_list_last (objects); iter; iter = g_list_previous (iter))
+ draw_object (LD_DIAGRAM_OBJECT (iter->data), data);
switch (data->self->priv->operation)
{