evas image: Set load error on native image set failure
authorDerek Foreman <derekf@osg.samsung.com>
Fri, 30 Jun 2017 19:10:50 +0000 (14:10 -0500)
committerDerek Foreman <derekf@osg.samsung.com>
Fri, 30 Jun 2017 19:10:50 +0000 (14:10 -0500)
evas_object_image_native_surface_set() has no return, so without
setting load error we can't tell if it failed.

fix T5418

src/lib/evas/canvas/evas_image_legacy.c

index d73d90c..a8593db 100644 (file)
@@ -483,7 +483,17 @@ EAPI void
 evas_object_image_native_surface_set(Evas_Object *eo_obj, Evas_Native_Surface *surf)
 {
    EVAS_IMAGE_API(eo_obj);
-   _evas_image_native_surface_set(eo_obj, surf);
+
+   Eina_Bool ret;
+
+   ret = _evas_image_native_surface_set(eo_obj, surf);
+
+   if (surf && !ret)
+     {
+        Evas_Image_Data *o = efl_data_scope_get(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS);
+
+        o->load_error = EVAS_LOAD_ERROR_GENERIC;
+     }
 }
 
 EAPI Evas_Native_Surface *