pixman-renderer: Don't unreference NULL hw_buffer image

If the buffer for an output was never set, or was reset to NULL at some
point, destroying the renderer output private would cause a crash.
This commit is contained in:
Ander Conselvan de Oliveira 2013-01-25 15:13:06 +02:00 committed by Kristian Høgsberg
parent 5fb44141bf
commit 23e72b867a
2 changed files with 4 additions and 1 deletions

View File

@ -3207,6 +3207,7 @@ usage(int error_code)
" --connector=ID\tBring up only this connector\n"
" --seat=SEAT\t\tThe seat that weston should run on\n"
" --tty=TTY\t\tThe tty to use\n"
" --use-pixman\t\tUse the pixman (CPU) renderer\n"
" --current-mode\tPrefer current KMS mode over EDID preferred mode\n\n");
fprintf(stderr,

View File

@ -507,7 +507,9 @@ pixman_renderer_output_destroy(struct weston_output *output)
struct pixman_output_state *po = get_output_state(output);
pixman_image_unref(po->shadow_image);
pixman_image_unref(po->hw_buffer);
if (po->hw_buffer)
pixman_image_unref(po->hw_buffer);
po->shadow_image = NULL;
po->hw_buffer = NULL;