summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--NEWS1
-rw-r--r--src/lib/elm_image.c16
3 files changed, 13 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 1f88e378e..0f7d397e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1752,3 +1752,7 @@
* mapbuf: reset the mapbuf internals correctly when the content is
removed(unset)
+
+2013-11-25 ChunEon Park (Hermet)
+
+ * image: fix the elm_image_prescale_set() to work properly.
diff --git a/NEWS b/NEWS
index 687bb325a..740858c44 100644
--- a/NEWS
+++ b/NEWS
@@ -310,6 +310,7 @@ Fixes:
* scroller : fix the scroller to locate the current page correctly in case that the scroller is suddenly resized and then the drag couldn't capture the page location.
* scroller: don't focus region show if the scroller is disabled.
* mapbuf: reset the mapbuf internal states correclty when the content is removed(unset)
+ * image: fix the elm_image_prescale_set() to work properly.
Removals:
diff --git a/src/lib/elm_image.c b/src/lib/elm_image.c
index e304e4b47..e5657bf33 100644
--- a/src/lib/elm_image.c
+++ b/src/lib/elm_image.c
@@ -478,12 +478,9 @@ _elm_image_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
priv->resize_up = EINA_TRUE;
priv->resize_down = EINA_TRUE;
priv->aspect_fixed = EINA_TRUE;
-
- priv->load_size = 64;
+ priv->load_size = 0;
priv->scale = 1.0;
- eo_do(obj, elm_obj_image_load_size_set(0));
-
elm_widget_can_focus_set(obj, EINA_FALSE);
eo_do(obj, elm_obj_image_sizing_eval());
@@ -725,6 +722,7 @@ static void
_elm_image_file_set_do(Evas_Object *obj)
{
Evas_Object *pclip = NULL;
+ int w, h;
ELM_IMAGE_DATA_GET(obj, sd);
@@ -743,8 +741,13 @@ _elm_image_file_set_do(Evas_Object *obj)
sd->edje = EINA_FALSE;
- if (!sd->load_size)
+ if (sd->load_size > 0)
evas_object_image_load_size_set(sd->img, sd->load_size, sd->load_size);
+ else
+ {
+ eo_do((Eo *) obj, elm_obj_image_size_get(&w, &h));
+ evas_object_image_load_size_set(sd->img, w, h);
+ }
}
static void
@@ -1290,9 +1293,6 @@ _elm_image_smart_load_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
int size = va_arg(*list, int);
sd->load_size = size;
- if (!sd->img || sd->edje) return;
-
- evas_object_image_load_size_set(sd->img, sd->load_size, sd->load_size);
}
EAPI int