From 9521230ca9694e290fb3d0c72cccfd0623d4ae99 Mon Sep 17 00:00:00 2001 From: "yan.wang" Date: Wed, 18 Jul 2012 08:27:52 +0000 Subject: [PATCH] From: yan.wang@linux.intel.com Subject: [E-devel] [PATCH] Add frame size when calculating minimized elm_win size Hi, I found frame size including width and height isn't counted in _elm_win_resize_objects_eval() when calculating minimized elm_window size. It is OK for X engine because elementary only draw client area and X provides widow frame. So both the width and height from evas_output_framespace_get are 0. But it cause bug for wayland engine because elementary need draw window frame by itself. So real client area size is smaller than window size. If frame size isn't counted into minimized window size, there isn't enough client area to layout widgets. So it is bug for any engine in which elementary draws window frame by itself. It is the reason of http://trac.enlightenment.org/e/ticket/1064. Could you please my attached patch for this issue? Thanks. SVN revision: 74049 --- legacy/elementary/ChangeLog | 4 ++++ legacy/elementary/src/lib/elm_win.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index d0800d691e..1473448e54 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -318,3 +318,7 @@ self-feeding loops expecially with min size hints on scrollers (which the change in smart object infra broke too - fixed here). +2012-07-18 Yan Wang + + * Small fix to account for framespace that is used in wayland + (0 in x11 so shouldnt affect x11). diff --git a/legacy/elementary/src/lib/elm_win.c b/legacy/elementary/src/lib/elm_win.c index 2a1ee44929..07c0a27a53 100644 --- a/legacy/elementary/src/lib/elm_win.c +++ b/legacy/elementary/src/lib/elm_win.c @@ -1498,6 +1498,9 @@ _elm_win_resize_objects_eval(Evas_Object *obj) else if ((h > 0) && (h < maxh)) maxh = h; } + evas_output_framespace_get(sd->evas, NULL, NULL, &w, &h); + minw += w; + minh += h; if (!xx) maxw = minw; else maxw = 32767; if (!xy) maxh = minh;