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 */

-- 


Reply via email to