create wl client connection during compositor init, use in shot module

fixes shot module

ref T2919
This commit is contained in:
Mike Blumenkrantz 2015-12-05 13:09:03 -05:00
parent e67f238c06
commit dfa9b45044
3 changed files with 5 additions and 3 deletions

View File

@ -2658,6 +2658,7 @@ _e_comp_wl_compositor_create(void)
e_comp_wl_input_keymap_set(rules, model, layout);
}
#endif
e_comp_wl->wl.client_disp = ecore_wl2_display_connect(NULL);
/* setup module idler to load shell mmodule */
ecore_idler_add(_e_comp_wl_cb_module_idle, cdata);

View File

@ -104,6 +104,7 @@ struct _E_Comp_Wl_Data
struct
{
struct wl_display *disp;
Ecore_Wl2_Display *client_disp;
struct wl_registry *registry; // only used for nested wl compositors
/* struct wl_event_loop *loop; */
Eina_Inlist *globals; // only used for nested wl compositors

View File

@ -953,7 +953,7 @@ _wl_shot_now(E_Zone *zone, E_Client *ec, const char *params)
sh = E_CLAMP(sh, 1, ec->zone->y + ec->zone->h - y);
}
shm = e_comp_wl->wl.shm ?: ecore_wl2_display_shm_get(ewd);
shm = e_comp_wl->wl.shm ?: ecore_wl2_display_shm_get(e_comp_wl->wl.client_disp);
EINA_LIST_FOREACH(_outputs, l, output)
{
@ -1263,8 +1263,8 @@ _wl_init()
struct wl_registry *reg;
void *data;
reg = e_comp_wl->wl.registry ?: ecore_wl2_display_registry_get(ewd);
itr = ecore_wl2_display_globals_get(ewd);
reg = e_comp_wl->wl.registry ?: ecore_wl2_display_registry_get(e_comp_wl->wl.client_disp);
itr = ecore_wl2_display_globals_get(e_comp_wl->wl.client_disp);
EINA_ITERATOR_FOREACH(itr, data)
{
global = (Ecore_Wl2_Global *)data;