pixman_region32_fini(®ion);
}
+static void
+_e_comp_wl_client_unignore(E_Client *ec, Eina_Bool buffer_attached)
+{
+ if (!ec->ignored)
+ return;
+
+ if (!ec->internal && (!ec->comp_data->shell.surface || !buffer_attached))
+ return;
+
+ EC_CHANGED(ec);
+ ec->new_client = 1;
+ e_comp_get()->new_clients++;
+ ELOGF("COMP", "Unignore", ec);
+ e_client_unignore(ec);
+}
+
static void
_e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
{
E_Surface *surface = e_surface_from_ec(ec);
E_Comp_Wl_Data *comp_wl;
- if (ec->ignored)
- {
- if ((ec->internal) ||
- (cdata->shell.surface && state->new_attach))
- {
- E_Comp *comp = e_comp_get();
-
- EC_CHANGED(ec);
- ec->new_client = 1;
- comp->new_clients++;
- ELOGF("COMP", "Unignore", ec);
- e_client_unignore(ec);
- }
- }
+ _e_comp_wl_client_unignore(ec, state->new_attach);
/* buffer transform */
if (vp->buffer.transform != state->buffer_viewport.buffer.transform)