diff options
author | Scott Moreau <oreaus@gmail.com> | 2012-05-12 11:57:42 -0600 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-05-14 10:02:12 -0400 |
commit | 7c8b116065c53caa9da13788e6a639e05c664cf8 (patch) | |
tree | 31bd0609ea0b07e997801216705c62bc206baa81 | |
parent | 4c3dac9c66a2ee1ebbe0ed7bad07ac4283b0c7e2 (diff) |
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.
-rw-r--r-- | clients/simple-shm.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/clients/simple-shm.c b/clients/simple-shm.c index 16f718c..cb79126 100644 --- a/clients/simple-shm.c +++ b/clients/simple-shm.c @@ -94,6 +94,30 @@ create_shm_buffer(struct display *display, 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 * 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->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); return window; |