simple-shm: Handle ping event.

Since simple-shm does not use toytoolkit, it needs to respond to ping events so it is not deemed unresponsive.
dev
Scott Moreau 13 years ago committed by Kristian Høgsberg
parent 4c3dac9c66
commit 7c8b116065
  1. 28
      clients/simple-shm.c

@ -94,6 +94,30 @@ create_shm_buffer(struct display *display,
return buffer; return buffer;
} }
static void
handle_ping(void *data, struct wl_shell_surface *shell_surface,
uint32_t serial)
{
wl_shell_surface_pong(shell_surface, serial);
}
static void
handle_configure(void *data, struct wl_shell_surface *shell_surface,
uint32_t edges, int32_t width, int32_t height)
{
}
static void
handle_popup_done(void *data, struct wl_shell_surface *shell_surface)
{
}
static const struct wl_shell_surface_listener shell_surface_listener = {
handle_ping,
handle_configure,
handle_popup_done
};
static struct window * static struct window *
create_window(struct display *display, int width, int height) create_window(struct display *display, int width, int height)
{ {
@ -119,6 +143,10 @@ create_window(struct display *display, int width, int height)
window->shell_surface = wl_shell_get_shell_surface(display->shell, window->shell_surface = wl_shell_get_shell_surface(display->shell,
window->surface); window->surface);
if (window->shell_surface)
wl_shell_surface_add_listener(window->shell_surface,
&shell_surface_listener, window);
wl_shell_surface_set_toplevel(window->shell_surface); wl_shell_surface_set_toplevel(window->shell_surface);
return window; return window;

Loading…
Cancel
Save