if (!obj) return;
if (obj->delete_me) return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if (dispmode == EVAS_DISPLAY_MODE_NONE) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if (obj->size_hints->dispmode == dispmode) return;
obj->size_hints->dispmode = dispmode;
if (obj->delete_me)
return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if (!w && !h) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if ((obj->size_hints->min.w == w) && (obj->size_hints->min.h == h)) return;
obj->size_hints->min.w = w;
obj->size_hints->min.h = h;
if (obj->delete_me)
return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if ((w == -1) && (h == -1)) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if ((obj->size_hints->max.w == w) && (obj->size_hints->max.h == h)) return;
obj->size_hints->max.w = w;
obj->size_hints->max.h = h;
if (obj->delete_me)
return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if (!w && !h) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if ((obj->size_hints->request.w == w) && (obj->size_hints->request.h == h)) return;
obj->size_hints->request.w = w;
obj->size_hints->request.h = h;
if (obj->delete_me)
return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if (!w && !h) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if ((obj->size_hints->user_min.w == w) && (obj->size_hints->user_min.h == h)) return;
obj->size_hints->user_min.w = w;
obj->size_hints->user_min.h = h;
if (obj->delete_me)
return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if (!w && !h) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if ((obj->size_hints->aspect.mode == aspect) && (obj->size_hints->aspect.size.w == w) && (obj->size_hints->aspect.size.h == h)) return;
obj->size_hints->aspect.mode = aspect;
obj->size_hints->aspect.size.w = w;
if (obj->delete_me)
return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if (EINA_DBL_CMP(x, 0.5) && EINA_DBL_CMP(y, 0.5)) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if ((EINA_DBL_CMP(obj->size_hints->align.x, x)) &&
(EINA_DBL_CMP(obj->size_hints->align.y, y)))
return;
if (obj->delete_me)
return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if (EINA_DBL_CMP(x, 0.0) && EINA_DBL_CMP(y, 0.0)) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if ((EINA_DBL_CMP(obj->size_hints->weight.x, x)) &&
(EINA_DBL_CMP(obj->size_hints->weight.y, y)))
return;
if (obj->delete_me)
return;
evas_object_async_block(obj);
- _evas_object_size_hint_alloc(eo_obj, obj);
+ if (EINA_UNLIKELY(!obj->size_hints))
+ {
+ if (!l && !r && !t && !b) return;
+ _evas_object_size_hint_alloc(eo_obj, obj);
+ }
if ((obj->size_hints->padding.l == l) && (obj->size_hints->padding.r == r) && (obj->size_hints->padding.t == t) && (obj->size_hints->padding.b == b)) return;
obj->size_hints->padding.l = l;
obj->size_hints->padding.r = r;