summaryrefslogtreecommitdiff
path: root/navit/graphics.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-01-19 18:56:41 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-01-19 18:56:41 +0000
commit62ae36592fae33428c471ffcba240feb463d78a5 (patch)
treed82deab6a23f8cc81cc7bb1d618e465431df0991 /navit/graphics.c
parent97e90ebedcbdd653b680ab728c1a5e1628f14147 (diff)
downloadnavit-svn-62ae36592fae33428c471ffcba240feb463d78a5.tar.gz
Add:Core:Allow layer tag to reference layers within navit context, object handling cleanup
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5340 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/graphics.c')
-rw-r--r--navit/graphics.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/navit/graphics.c b/navit/graphics.c
index 2bd81b09..8daaf712 100644
--- a/navit/graphics.c
+++ b/navit/graphics.c
@@ -38,6 +38,7 @@
#include "graphics.h"
#include "projection.h"
#include "item.h"
+#include "xmlconfig.h"
#include "map.h"
#include "coord.h"
#include "transform.h"
@@ -2105,8 +2106,11 @@ static void xdisplay_draw(struct displaylist *display_list, struct graphics *gra
lays=l->layers;
while (lays) {
lay=lays->data;
- if (lay->active)
+ if (lay->active) {
+ if (lay->ref)
+ lay=lay->ref;
xdisplay_draw_layer(display_list, gra, lay, order);
+ }
lays=g_list_next(lays);
}
}
@@ -2124,6 +2128,8 @@ displaylist_update_layers(struct displaylist *displaylist, GList *layers, int or
{
while (layers) {
struct layer *layer=layers->data;
+ if (layer->ref)
+ layer=layer->ref;
GList *itemgras=layer->itemgras;
while (itemgras) {
struct itemgra *itemgra=itemgras->data;