diff options
author | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2010-10-30 16:26:16 +0000 |
---|---|---|
committer | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2010-10-30 16:26:16 +0000 |
commit | 7dcb63e138dbee1db15d50e62a253987ca4c52a1 (patch) | |
tree | e0e611bc23ca6459b80e41326e1e8de3fa5a0302 /navit/osd.c | |
parent | ad289aa35e2d2cb5f8e140f97dc86deedc53dab2 (diff) | |
download | navit-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.c | 15 |
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 |