diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c index 820e8d2dbb..103d3a8408 100644 --- a/src/lib/evas/canvas/evas_object_table.c +++ b/src/lib/evas/canvas/evas_object_table.c @@ -785,12 +785,14 @@ _evas_object_table_calculate_layout_regular(Evas_Object *o, Evas_Table_Data *pri Eina_List *l; Evas_Coord *cols = NULL, *rows = NULL; Evas_Coord x, y, w, h; + Evas_Coord totw; c = priv->cache; if (!c) return; c->ref++; evas_object_geometry_get(o, &x, &y, &w, &h); + totw = w; /* handle horizontal */ if ((c->total.expands.h <= 0) || (c->total.min.w >= w)) @@ -857,7 +859,7 @@ _evas_object_table_calculate_layout_regular(Evas_Object *o, Evas_Table_Data *pri if (priv->is_mirrored) { - evas_object_move(opt->obj, x + w - (cx - x + cw), cy); + evas_object_move(opt->obj, x + w + 2 * (0.5 - priv->align.h) * (totw - w) - (cx - x + cw), cy); } else {