devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=4b1768141300b87637c54e6b0a1b5c516bbb1ff3
commit 4b1768141300b87637c54e6b0a1b5c516bbb1ff3 Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 16 13:10:13 2015 -0400 elementary: Fix elementary wayland border opaque region calculations Summary: This fixes T2575 more accurately (combined with previous theme adjustments). Previous code would use a spacer object to help calculate window opaque region. This is no longer necessary due to the previous theme changes, and now calculates window opaque region to coincide with what Enlightenment is expecting. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elm_win.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index f52732e..ffca78c 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -100,7 +100,6 @@ struct _Elm_Win_Data Evas_Object *parent; /* parent *window* object*/ Evas_Object *img_obj, *frame_obj; Evas_Object *client_obj; /* rect representing the client */ - Evas_Object *spacer_obj; Eo *edje; /**< edje object for a window layout */ Eo *box; Evas_Object *obj; /* The object itself */ @@ -1232,7 +1231,6 @@ _elm_win_frame_obj_update(Elm_Win_Data *sd) { int fx, fy, fw, fh; int ox, oy, ow, oh; - int sx, sy, sw, sh; int x, y, w, h; if (sd->fullscreen) @@ -1244,10 +1242,9 @@ _elm_win_frame_obj_update(Elm_Win_Data *sd) return; #endif } + evas_object_geometry_get(sd->frame_obj, &fx, &fy, &fw, &fh); evas_object_geometry_get(sd->client_obj, &ox, &oy, &ow, &oh); - evas_object_geometry_get(sd->spacer_obj, &sx, &sy, &sw, &sh); - evas_output_framespace_get(sd->evas, &x, &y, &w, &h); if ((x != (ox - fx)) || (y != (oy - fy)) || @@ -1258,7 +1255,7 @@ _elm_win_frame_obj_update(Elm_Win_Data *sd) } #ifdef HAVE_ELEMENTARY_WAYLAND - ecore_wl_window_opaque_region_set(sd->wl.win, -fx, -(fy - sy), sw, sh); + ecore_wl_window_opaque_region_set(sd->wl.win, ox, oy, ow + w, oh + h); #endif } @@ -2872,12 +2869,6 @@ _elm_win_frame_add(Elm_Win_Data *sd, return; } - sd->spacer_obj = evas_object_rectangle_add(sd->evas); - evas_object_color_set(sd->spacer_obj, 0, 0, 0, 0); - evas_object_repeat_events_set(sd->spacer_obj, EINA_TRUE); - edje_object_part_swallow(sd->frame_obj, "elm.swallow.frame_spacer", - sd->spacer_obj); - sd->client_obj = evas_object_rectangle_add(sd->evas); evas_object_color_set(sd->client_obj, 0, 0, 0, 0); /* NB: Tried pass_events here, but that fails to send events */ --