(sd->move_effect_mode == ELM_GENLIST_TREE_EFFECT_NONE))
_item_auto_scroll(sd);
+ //FIXME: There are issue about wrong list positioning in prepend cases.
+ // To prevent the issue, allocate repositioning in smart calculate.
+ if (sd->prepend_items)
+ {
+ Evas_Coord prepend_h = 0;
+ Elm_Gen_Item *tmp = NULL;
+ EINA_LIST_FREE(sd->prepend_items, tmp)
+ {
+ prepend_h += tmp->item->minh;
+ }
+
+ eo_do((sd)->obj,
+ elm_interface_scrollable_content_pos_get(&vx, &vy),
+ elm_interface_scrollable_content_viewport_geometry_get
+ (NULL, NULL, &vw, &vh));
+ /* Set adjusted position as prepended items height */
+ eo_do((sd)->obj, elm_interface_scrollable_content_region_show(vx, vy + prepend_h, vw, vh));
+ }
+
eo_do((sd)->obj,
elm_interface_scrollable_content_pos_get(&vx, &vy),
elm_interface_scrollable_content_viewport_geometry_get
eo_it2 = sd->selected->data;
ELM_GENLIST_ITEM_DATA_GET(eo_it2, it2);
if (!it2->item->block) return;
+
+ //FIXME: There are issue about wrong list positioning in prepend cases.
+ // To prevent the issue, allocate repositioning in smart calculate.
+ sd->prepend_items = eina_list_append(sd->prepend_items, it);
+#if 0
eo_do(sd->obj, elm_interface_scrollable_content_pos_get(NULL, &y));
evas_object_geometry_get(sd->pan_obj, NULL, NULL, NULL, &h);
if ((it->y + it->item->block->y > y + h) ||
eo_do(sd->obj, elm_interface_scrollable_content_region_show
(it->x + it->item->block->x,
y + it->item->h, it->item->block->w, h));
+#endif
}
}