forked from enlightenment/enlightenment
wl_desktop_shell: Fixed the issue to check if client is active or hung up
Summary: The patch will setup e_client_cb_ping_poller and as long as surface is active it will unset hung Signed-off-by: vivek <vivek.ellur@samsung.com> Reviewers: devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D1607
This commit is contained in:
parent
5f57c472b2
commit
0a60b1c553
|
@ -1089,9 +1089,13 @@ _e_xdg_shell_surface_ping(struct wl_resource *resource)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ec->hung = EINA_TRUE;
|
||||||
|
e_client_ping(ec);
|
||||||
|
|
||||||
serial = wl_display_next_serial(ec->comp->wl_comp_data->wl.disp);
|
serial = wl_display_next_serial(ec->comp->wl_comp_data->wl.disp);
|
||||||
if (ec->comp->wl_comp_data->shell_interface.xdg_shell)
|
if (ec->comp->wl_comp_data->shell_interface.xdg_shell)
|
||||||
xdg_shell_send_ping(ec->comp->wl_comp_data->shell_interface.xdg_shell, serial);
|
xdg_shell_send_ping(ec->comp->wl_comp_data->shell_interface.xdg_shell, serial);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1361,9 +1365,11 @@ _e_xdg_shell_cb_pong(struct wl_client *client EINA_UNUSED, struct wl_resource *r
|
||||||
{
|
{
|
||||||
E_Client *ec;
|
E_Client *ec;
|
||||||
|
|
||||||
/* NB: Needs to set client->ping_ok, or client->hung */
|
|
||||||
if ((ec = wl_resource_get_user_data(resource)))
|
if ((ec = wl_resource_get_user_data(resource)))
|
||||||
|
{
|
||||||
ec->ping_ok = EINA_TRUE;
|
ec->ping_ok = EINA_TRUE;
|
||||||
|
ec->hung = EINA_FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct wl_shell_interface _e_shell_interface =
|
static const struct wl_shell_interface _e_shell_interface =
|
||||||
|
|
Loading…
Reference in New Issue