summaryrefslogtreecommitdiff
path: root/navit/osd.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-10-30 16:26:16 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-10-30 16:26:16 +0000
commit7dcb63e138dbee1db15d50e62a253987ca4c52a1 (patch)
treee0e611bc23ca6459b80e41326e1e8de3fa5a0302 /navit/osd.c
parentad289aa35e2d2cb5f8e140f97dc86deedc53dab2 (diff)
downloadnavit-7dcb63e138dbee1db15d50e62a253987ca4c52a1.tar.gz
Fix:Core:Make osd_configuration work also for non-overlay buttons
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@3628 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/osd.c')
-rw-r--r--navit/osd.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/navit/osd.c b/navit/osd.c
index 3eae150fc..0b79df449 100644
--- a/navit/osd.c
+++ b/navit/osd.c
@@ -243,7 +243,16 @@ osd_std_config(struct osd_item *item, struct navit *navit)
attr.u.num=-1;
item->configured = !!(attr.u.num & item->osd_configuration);
}
- graphics_overlay_disable(item->gr, !item->configured);
+ if (item->gr && !(item->flags & 16))
+ graphics_overlay_disable(item->gr, !item->configured);
+}
+
+void
+osd_set_std_config(struct navit *nav, struct osd_item *item)
+{
+ item->cb = callback_new_attr_2(callback_cast(osd_std_config), attr_osd_configuration, item, nav);
+ navit_add_callback(nav, item->cb);
+ osd_std_config(item, nav);
}
void
@@ -267,13 +276,11 @@ osd_set_std_graphic(struct navit *nav, struct osd_item *item, struct osd_priv *p
graphics_gc_set_foreground(item->graphic_fg_text, &item->text_color);
}
- item->cb = callback_new_attr_2(callback_cast(osd_std_config), attr_osd_configuration, item, nav);
- navit_add_callback(nav, item->cb);
+ osd_set_std_config(nav, item);
item->resize_cb = callback_new_attr_2(callback_cast(osd_std_calculate_sizes), attr_resize, item, priv);
graphics_add_callback(navit_gr, item->resize_cb);
- osd_std_config(item, nav);
}
void