mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-05 22:48:14 +02:00
simple-shm: handle shm buffer failure
Do not segfault, if creating the shm buffer fails. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
This commit is contained in:
parent
f31ad10b77
commit
3baf946b9a
1 changed files with 13 additions and 4 deletions
|
|
@ -101,6 +101,17 @@ create_window(struct display *display, int width, int height)
|
|||
struct window *window;
|
||||
|
||||
window = malloc(sizeof *window);
|
||||
|
||||
window->buffer = create_shm_buffer(display,
|
||||
width, height,
|
||||
WL_SHM_FORMAT_XRGB8888,
|
||||
&window->shm_data);
|
||||
|
||||
if (!window->buffer) {
|
||||
free(window);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
window->callback = NULL;
|
||||
window->display = display;
|
||||
window->width = width;
|
||||
|
|
@ -108,10 +119,6 @@ create_window(struct display *display, int width, int height)
|
|||
window->surface = wl_compositor_create_surface(display->compositor);
|
||||
window->shell_surface = wl_shell_get_shell_surface(display->shell,
|
||||
window->surface);
|
||||
window->buffer = create_shm_buffer(display,
|
||||
width, height,
|
||||
WL_SHM_FORMAT_XRGB8888,
|
||||
&window->shm_data);
|
||||
|
||||
wl_shell_surface_set_toplevel(window->shell_surface);
|
||||
|
||||
|
|
@ -293,6 +300,8 @@ main(int argc, char **argv)
|
|||
|
||||
display = create_display();
|
||||
window = create_window(display, 250, 250);
|
||||
if (!window)
|
||||
return 1;
|
||||
|
||||
sigint.sa_handler = signal_int;
|
||||
sigemptyset(&sigint.sa_mask);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue