elm_win: unset opaque region when alpha is set
authorMike Blumenkrantz <zmike@osg.samsung.com>
Mon, 4 Apr 2016 20:30:33 +0000 (16:30 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Mon, 4 Apr 2016 20:30:53 +0000 (16:30 -0400)
@fix

src/lib/elementary/elm_win.c

index ae3e38c..a69fa2d 100644 (file)
@@ -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