ivi-layout: apply opacity to weston_view correctly

update_opacity is only called when a ivi-surface is visible. But the
previous code also checks event masks redundantly. However if the event
happens when ivi-surface is invisible, opacity is not calculated. This
patch removes this redundant check to fix potential bug.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
dev
Nobuhiko Tanibata 9 years ago committed by Pekka Paalanen
parent 0cc4e98669
commit 90c2789e8d
  1. 9
      ivi-shell/ivi-layout.c

@ -322,12 +322,9 @@ update_opacity(struct ivi_layout_layer *ivilayer,
double layer_alpha = wl_fixed_to_double(ivilayer->prop.opacity); double layer_alpha = wl_fixed_to_double(ivilayer->prop.opacity);
double surf_alpha = wl_fixed_to_double(ivisurf->prop.opacity); double surf_alpha = wl_fixed_to_double(ivisurf->prop.opacity);
if ((ivilayer->event_mask & IVI_NOTIFICATION_OPACITY) || tmpview = get_weston_view(ivisurf);
(ivisurf->event_mask & IVI_NOTIFICATION_OPACITY)) { assert(tmpview != NULL);
tmpview = get_weston_view(ivisurf); tmpview->alpha = layer_alpha * surf_alpha;
assert(tmpview != NULL);
tmpview->alpha = layer_alpha * surf_alpha;
}
} }
static void static void

Loading…
Cancel
Save