elm_image: create image object before call elm_image_object_get

Summary:
image object was created in group_add before 868e3308. if you call
elm_image_object_get before file_set, you can get NULL.
this patch avoid that.

Test Plan:
obj = elm_image_add(...);
img = elm_image_object_get(obj);

img should not be NULL.

Reviewers: Hermet, zmike

Reviewed By: zmike

Subscribers: JackDanielZ, cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6828
This commit is contained in:
Yeongjong Lee 2018-08-16 10:01:37 -04:00 committed by Mike Blumenkrantz
parent 88ecbdadc3
commit 07692dc640
3 changed files with 18 additions and 1 deletions

View File

@ -2128,6 +2128,9 @@ elm_image_object_get(const Evas_Object *obj)
{
EFL_UI_IMAGE_CHECK(obj) NULL;
EFL_UI_IMAGE_DATA_GET(obj, sd);
if (!sd->img)
sd->img = _img_new((Evas_Object *)obj);
return sd->img;
}

View File

@ -434,7 +434,7 @@ EAPI Elm_Image_Orient elm_image_orient_get(const Evas_Object *obj);
*
* @note Be careful to not manipulate it, as it is under control of elementary.
*
* @return The inlined image object, or NULL if none exists
* @return The inlined image object.
*
* @ingroup Elm_Image
*/

View File

@ -213,6 +213,19 @@ EFL_START_TEST (elm_image_evas_object_color_set)
}
EFL_END_TEST
EFL_START_TEST (elm_image_evas_image_get)
{
Evas_Object *win, *image, *obj;
win = win_add(NULL, "image", ELM_WIN_BASIC);
image = elm_image_add(win);
obj = elm_image_object_get(image);
ck_assert(obj);
}
EFL_END_TEST
EFL_START_TEST (efl_ui_image_icon)
{
Evas_Object *win, *image;
@ -244,5 +257,6 @@ void elm_test_image(TCase *tc)
tcase_add_test(tc, elm_image_async_path);
tcase_add_test(tc, elm_image_async_mmap);
tcase_add_test(tc, elm_image_evas_object_color_set);
tcase_add_test(tc, elm_image_evas_image_get);
tcase_add_test(tc, efl_ui_image_icon);
}