* edje: Force recalc before doing preloading.
SVN revision: 44443
This commit is contained in:
parent
bcf0748744
commit
576d5f7091
|
@ -3722,6 +3722,8 @@ edje_object_preload(Evas_Object *obj, Eina_Bool cancel)
|
||||||
ed = _edje_fetch(obj);
|
ed = _edje_fetch(obj);
|
||||||
if (!ed) return EINA_FALSE;
|
if (!ed) return EINA_FALSE;
|
||||||
|
|
||||||
|
_edje_recalc_do(ed);
|
||||||
|
|
||||||
for (i = 0, count = 0; i < ed->table_parts_size; i++)
|
for (i = 0, count = 0; i < ed->table_parts_size; i++)
|
||||||
{
|
{
|
||||||
Edje_Real_Part *rp;
|
Edje_Real_Part *rp;
|
||||||
|
@ -3749,10 +3751,21 @@ edje_object_preload(Evas_Object *obj, Eina_Bool cancel)
|
||||||
|
|
||||||
if (ep->type == EDJE_PART_TYPE_IMAGE)
|
if (ep->type == EDJE_PART_TYPE_IMAGE)
|
||||||
{
|
{
|
||||||
evas_object_event_callback_del_full(rp->object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
|
const char *file = NULL;
|
||||||
evas_object_event_callback_add(rp->object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
|
const char *key = NULL;
|
||||||
evas_object_image_preload(rp->object, cancel);
|
|
||||||
|
|
||||||
|
evas_object_event_callback_del_full(rp->object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
|
||||||
|
|
||||||
|
evas_object_image_file_get(rp->object, &file, &key);
|
||||||
|
if (!file && !key)
|
||||||
|
{
|
||||||
|
ed->preload_count--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
evas_object_event_callback_add(rp->object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed);
|
||||||
|
evas_object_image_preload(rp->object, cancel);
|
||||||
|
}
|
||||||
count--;
|
count--;
|
||||||
}
|
}
|
||||||
else if (ep->type == EDJE_PART_TYPE_GROUP)
|
else if (ep->type == EDJE_PART_TYPE_GROUP)
|
||||||
|
|
Loading…
Reference in New Issue