diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-04-22 19:19:22 +0200 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-04-22 19:19:22 +0200 |
commit | 4575f27932a04f901e99f3b9410c1fe39a0ff342 (patch) | |
tree | 8674ff41fe628bf4a59ccb9dfdac665c2ef1bad0 | |
parent | edbf4a2f60ad05fc46bbb0b83e212e8cc1df2876 (diff) |
Update layer shell example -o behavior
-rw-r--r-- | examples/layer-shell.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/examples/layer-shell.c b/examples/layer-shell.c index 870a3f22..245d762f 100644 --- a/examples/layer-shell.c +++ b/examples/layer-shell.c @@ -1,6 +1,7 @@ #define _POSIX_C_SOURCE 199309L #include <assert.h> #include <GLES2/gl2.h> +#include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -28,7 +29,7 @@ struct wl_egl_window *egl_window; struct wlr_egl_surface *egl_surface; struct wl_callback *frame_callback; -static uint32_t output = 0; +static uint32_t output = UINT32_MAX; static uint32_t layer = ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND; static uint32_t anchor = 0; static uint32_t width = 256, height = 256; @@ -283,11 +284,13 @@ static void handle_global(void *data, struct wl_registry *registry, shm = wl_registry_bind(registry, name, &wl_shm_interface, 1); } else if (strcmp(interface, "wl_output") == 0) { - if (output == 0 && !wl_output) { - wl_output = wl_registry_bind(registry, name, - &wl_output_interface, 1); - } else { - output--; + if (output != UINT32_MAX) { + if (!wl_output) { + wl_output = wl_registry_bind(registry, name, + &wl_output_interface, 1); + } else { + output--; + } } } else if (strcmp(interface, wl_seat_interface.name) == 0) { seat = wl_registry_bind(registry, name, @@ -426,10 +429,6 @@ int main(int argc, char **argv) { fprintf(stderr, "layer_shell not available\n"); return 1; } - if (wl_output == NULL) { - fprintf(stderr, "wl_output not available\n"); - return 1; - } cursor_theme = wl_cursor_theme_load(NULL, 16, shm); assert(cursor_theme); |