From c84a4e5a5fa0477c10c869b97e78a3d7beda2cfb Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 4 Apr 2016 16:30:33 -0400 Subject: [PATCH] elm_win: unset opaque region when alpha is set @fix --- src/lib/elementary/elm_win.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_win.c b/src/lib/elementary/elm_win.c index ae3e38cd50..a69fa2d78e 100644 --- a/src/lib/elementary/elm_win.c +++ b/src/lib/elementary/elm_win.c @@ -1269,18 +1269,24 @@ static void _elm_win_opaque_update(Elm_Win_Data *sd) { int ox, oy, ow, oh; + Eina_Bool alpha; + alpha = ecore_evas_alpha_get(sd->ee); + if (alpha) + ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, 0, 0); if (sd->fullscreen) { ecore_evas_geometry_get(sd->ee, NULL, NULL, &ow, &oh); - ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, ow, oh); + if (!alpha) + ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, ow, oh); ecore_wl2_window_geometry_set(sd->wl.win, 0, 0, ow, oh); return; } edje_object_part_geometry_get(sd->frame_obj, "elm.spacer.opaque", &ox, &oy, &ow, &oh); - ecore_wl2_window_opaque_region_set(sd->wl.win, ox, oy, ow, oh); + if (!alpha) + ecore_wl2_window_opaque_region_set(sd->wl.win, ox, oy, ow, oh); ecore_wl2_window_geometry_set(sd->wl.win, ox, oy, ow, oh); } #endif