From 7c660b06dc720ff2342e1f45d37df57ffc49ce57 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 22 Jan 2015 22:35:28 -0500 Subject: [PATCH] win centering: unbork! not centering on an axis does not mean that it needs to be moved to the screen origin. also clamp to screen x,y, not 0,0 --- legacy/elementary/src/lib/elm_win.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/legacy/elementary/src/lib/elm_win.c b/legacy/elementary/src/lib/elm_win.c index 233e17b93c..53bbe8a748 100644 --- a/legacy/elementary/src/lib/elm_win.c +++ b/legacy/elementary/src/lib/elm_win.c @@ -3797,15 +3797,13 @@ _elm_win_center(Eo *obj, Elm_Win_Data *sd, Eina_Bool h, Eina_Bool v) ecore_evas_screen_geometry_get(sd->ee, NULL, NULL, &screen_w, &screen_h); if ((!screen_w) || (!screen_h)) return; - evas_object_geometry_get(obj, NULL, NULL, &win_w, &win_h); + evas_object_geometry_get(obj, &nx, &ny, &win_w, &win_h); if ((!win_w) || (!win_h)) return; if (h) nx = win_w >= screen_w ? 0 : (screen_w / 2) - (win_w / 2); - else nx = sd->screen.x; if (v) ny = win_h >= screen_h ? 0 : (screen_h / 2) - (win_h / 2); - else ny = sd->screen.y; - if (nx < 0) nx = 0; - if (ny < 0) ny = 0; + if (nx < sd->screen.x) nx = sd->screen.x; + if (ny < sd->screen.y) ny = sd->screen.y; evas_object_move(obj, nx, ny); }