diff --git a/clients/Makefile.am b/clients/Makefile.am index 09963cc6..1f7d9dc8 100644 --- a/clients/Makefile.am +++ b/clients/Makefile.am @@ -109,8 +109,10 @@ weston_flower_LDADD = libtoytoolkit.la weston_screenshooter_SOURCES = \ screenshot.c \ screenshooter-protocol.c \ - screenshooter-client-protocol.h -weston_screenshooter_LDADD = libtoytoolkit.la + screenshooter-client-protocol.h \ + ../shared/os-compatibility.c \ + ../shared/os-compatibility.h +weston_screenshooter_LDADD = $(CLIENT_LIBS) weston_terminal_SOURCES = terminal.c weston_terminal_LDADD = libtoytoolkit.la -lutil diff --git a/clients/screenshot.c b/clients/screenshot.c index d58d8b1a..1c0f203a 100644 --- a/clients/screenshot.c +++ b/clients/screenshot.c @@ -20,7 +20,10 @@ * OF THIS SOFTWARE. */ +#include "config.h" + #include +#include #include #include #include @@ -75,6 +78,21 @@ display_handle_geometry(void *data, } } +static void * +xmalloc(size_t size) +{ + void *p; + + p = malloc(size); + if (p == NULL) { + fprintf(stderr, "%s: out of memory\n", + program_invocation_short_name); + exit(EXIT_FAILURE); + } + + return p; +} + static void display_handle_mode(void *data, struct wl_output *wl_output, @@ -185,7 +203,7 @@ write_png(int width, int height) buffer_stride = width * 4; - data = malloc(buffer_stride * height); + data = xmalloc(buffer_stride * height); if (!data) return;