map_drag_id=0;
}
+/* Workaround hildon content menu problem */
+static gboolean
+map_cb_show_poi_info_dialog(gpointer data)
+{
+guint poi_id=GPOINTER_TO_INT(data);
+if (poi_info_dialog(poi_id)==FALSE)
+ g_printerr("Huh? Failed to display info dialog\n");
+return FALSE;
+}
+
gboolean
map_cb_button_press(GtkWidget * widget, GdkEventButton * event)
{
unit2latlon(ux, uy, lat, lon);
if (map_poi_find_at_latlon(lat, lon, &poi_id)==TRUE) {
g_printf("POI: %d\n", poi_id);
- if (poi_info_dialog(poi_id)==FALSE)
- g_printerr("Huh? Failed to display info dialog\n");
+ g_idle_add_full(G_PRIORITY_HIGH_IDLE,(GSourceFunc)map_cb_show_poi_info_dialog, GINT_TO_POINTER(poi_id), NULL);
} else {
map_drag_start(event->x, event->y);
}
+ return FALSE;
break;
case 2:
map_set_zoom(_zoom - 1);