if (ec->comp_data->video_client)
return EINA_TRUE;
+ if (ec->comp_data->has_video_client)
+ return EINA_TRUE;
+
EINA_LIST_FOREACH(ec->comp_data->sub.below_list_pending, l, subc)
if (e_comp_wl_video_subsurface_has(subc))
return EINA_TRUE;
Eina_Bool focus_update : 1;
Eina_Bool opaque_state : 1;
Eina_Bool video_client : 1;
+ Eina_Bool has_video_client : 1;
Eina_Bool never_hwc : 1; // force window not to do hwc
unsigned char accepts_focus : 1;
unsigned char conformant : 1;
wl_resource_destroy(res_tzpol);
}
+static void
+_tzpol_iface_cb_has_video(struct wl_client *client, struct wl_resource *res_tzpol, struct wl_resource *surface, uint32_t has)
+{
+ E_Client *ec;
+
+ if (!(ec = wl_resource_get_user_data(surface))) return;
+ if (e_object_is_del(E_OBJECT(ec))) return;
+ if (ec->comp_data->has_video_client == has) return;
+
+ ELOGF("TZPOL", "video client has(%d)", ec->pixmap, ec, has);
+
+ ec->comp_data->has_video_client = has;
+}
+
// --------------------------------------------------------
// tizen_policy_interface
// --------------------------------------------------------
_tzpol_iface_cb_parent_set,
_tzpol_iface_cb_ack_conformant_region,
_tzpol_iface_cb_destroy,
+ _tzpol_iface_cb_has_video,
};
static void
/* create globals */
global = wl_global_create(e_comp_wl->wl.disp,
&tizen_policy_interface,
- 6,
+ 7,
NULL,
_tzpol_cb_bind);
EINA_SAFETY_ON_NULL_GOTO(global, err);