summaryrefslogtreecommitdiffstats
path: root/friendfinder/e_smart_map.c
diff options
context:
space:
mode:
Diffstat (limited to 'friendfinder/e_smart_map.c')
-rw-r--r--friendfinder/e_smart_map.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/friendfinder/e_smart_map.c b/friendfinder/e_smart_map.c
index 7f19a2e..d87335d 100644
--- a/friendfinder/e_smart_map.c
+++ b/friendfinder/e_smart_map.c
@@ -65,7 +65,7 @@ static struct bubble *create_text_bubble(struct smart_map *smart, char *info, ch
bubble->bb = elm_bubble_add(smart->win);
elm_bubble_info_set(bubble->bb, info);
evas_object_size_hint_min_set(bubble->bb, 150, 150);
- evas_object_size_hint_max_set(bubble->bb, 300, 300);
+ evas_object_size_hint_max_set(bubble->bb, 300, 300);
evas_object_size_hint_weight_set(bubble->bb, 1.0, 1.0);
evas_object_size_hint_align_set(bubble->bb, 0.0, 0.0);
elm_bubble_content_set(bubble->bb, bubble->av);
@@ -84,14 +84,29 @@ static struct bubble *create_text_bubble(struct smart_map *smart, char *info, ch
return bubble;
}
+struct bubble *bb;
+first_draw = 0;
void e_smart_map_overlay_set_bubble(Evas_Object *o, char *overlay, char *info, char *text, double lat, double lon, int flags)
{
struct smart_map *smart;
smart = evas_object_smart_data_get(o);
- struct bubble *bb;
+ //struct bubble *bb;
+
+ if (first_draw == 0)
+ {
+ bb = create_text_bubble(smart, info, text);
+
+ first_draw = 1;
+ }
+
+ if (first_draw = 1)
+ {
+ evas_object_del(bb->bb);
+ bb = create_text_bubble(smart, info, text);
+ }
+
struct overlay_item *poi = malloc(sizeof(struct overlay_item));
- bb = create_text_bubble(smart, info, text);
poi->obj = &bb->object;
poi->lat = lat;