clients that are composited at current frame are append to the render list.
Change-Id: Ib9a814b4d87a741420e9c1625326077d2054182a
unsigned int serial : 1;
Eina_List *pending_geometry; // E_Client_Pending_Geometry
} surface_sync;
+
+ Eina_Bool on_render_list : 1; // client is on the render list
};
#define e_client_focus_policy_click(ec) \
e_object_ref(E_OBJECT(ec));
}
+E_API void
+e_comp_client_render_list_add(E_Client *ec)
+{
+ if (ec->on_render_list) return;
+ ec->on_render_list = EINA_TRUE;
+ ERR("add render list ec:%p", ec);
+ e_comp->render_list = eina_list_append(e_comp->render_list, ec);
+ REFD(ec, 111);
+ e_object_ref(E_OBJECT(ec));
+}
+
E_API E_Comp_Config *
e_comp_config_get(void)
{
Eina_List *connected_clients;
Eina_List *launchscrns; // list of dummy clients for launchscreen image.
+ Eina_List *render_list;
+
int norender;
void (*func_memory_dump) (void);
e_pixmap_image_clear(ec->pixmap, 1);
e_object_unref(E_OBJECT(ec));
}
+
+ EINA_LIST_FREE(e_comp->render_list, ec)
+ {
+ ec->on_render_list = EINA_FALSE;
+ e_object_unref(E_OBJECT(ec));
+ }
}
///////////////////////////////////
if (e_object_is_del(E_OBJECT(ec))) return;
if (cw->external_content) return;
+ if (!e_comp->hwc) return;
+
+ e_comp_client_render_list_add(cw->ec);
if (!ec->hwc_window) return;