diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index cddba32413..400c7a50bd 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -4955,6 +4955,9 @@ _elm_genlist_item_compute_coordinates(Elm_Object_Item *it, Elm_Gen_Item *_it = (Elm_Gen_Item *)it; Evas_Coord gith = 0; if (_it->generation < _it->wd->generation) return EINA_FALSE; + if ((_it->wd->homogeneous) && + (_it->wd->mode == ELM_LIST_COMPRESS)) + goto hm_shortcut; /* homogenous genlist shortcut */ if ((_it->item->queued) || (!_it->item->mincalcd)) { _it->wd->show_item = _it; @@ -4963,6 +4966,7 @@ _elm_genlist_item_compute_coordinates(Elm_Object_Item *it, _it->item->showme = EINA_TRUE; return EINA_FALSE; } +hm_shortcut: if (_it->wd->show_item) { _it->wd->show_item->item->showme = EINA_FALSE; diff --git a/legacy/elementary/src/lib/elm_genlist.h b/legacy/elementary/src/lib/elm_genlist.h index 065bd2ccd5..d2338c1147 100644 --- a/legacy/elementary/src/lib/elm_genlist.h +++ b/legacy/elementary/src/lib/elm_genlist.h @@ -516,9 +516,11 @@ EAPI Eina_Bool elm_genlist_multi_select_get(const Evas_Objec * @note ELM_LIST_COMPRESS will make list resize slower as it will have to * recalculate every item height again whenever the list width * changes! - * @note When ELM_LIST_COMPRESS mode is enabled, it also enables - * compress mode (see elm_genlist_mode_set()) and - * disables homogeneous (see elm_genlist_homogeneous_set()). + * @note Homogeneous mode is for that all items in the genlist same + * width/height. With ELM_LIST_COMPRESS, it makes genlist items to fast + * initializing. However there's no sub-objects in genlist which can be + * on the flying resizable (such as TEXTBLOCK). If then, some dynamic + * resizable objects in genlist would not diplayed properly. * * @see elm_genlist_mode_get() * @@ -1326,8 +1328,7 @@ EAPI Eina_Bool elm_genlist_item_cursor_engine_only_get(const * * This will enable the homogeneous mode where items are of the same * height and width so that genlist may do the lazy-loading at its - * maximum (which increases the performance for scrolling the list). This - * implies 'compressed' mode. + * maximum (which increases the performance for scrolling the list). * * @see elm_genlist_mode_set() * @see elm_genlist_homogeneous_get()