elm_win: simplify/fix recalc logic when changing csd

forcing a full eval here is unnecessary and broken since such an eval could
either change geometry in unexpected ways or fail to accurately change
the underlying canvas geometry

@fix
This commit is contained in:
Mike Blumenkrantz 2017-08-07 13:26:41 -04:00
parent 15126b2f4f
commit 56936c91c0
1 changed files with 5 additions and 2 deletions

View File

@ -1460,14 +1460,17 @@ _elm_win_frame_obj_update(Efl_Ui_Win_Data *sd)
{
int ox, oy, ow, oh;
int cx, cy, cw, ch;
int w, h;
if (!sd->frame_obj) return;
_elm_win_opaque_dirty(sd);
_elm_win_frame_geometry_adjust(sd);
evas_object_geometry_get(sd->frame_obj, &ox, &oy, &ow, &oh);
edje_object_part_geometry_get(sd->frame_obj, "elm.spacer.content", &cx, &cy, &cw, &ch);
if (_elm_win_framespace_set(sd, cx, cy, ow - cw, oh - ch))
_elm_win_resize_objects_eval(sd->obj, EINA_TRUE);
if (!_elm_win_framespace_set(sd, cx, cy, ow - cw, oh - ch)) return;
_elm_win_frame_geometry_adjust(sd);
evas_object_geometry_get(sd->obj, NULL, NULL, &w, &h);
TRAP(sd, resize, w, h);
}
static void