diff options
author | Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> | 2016-05-02 22:40:13 +0100 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2016-05-17 17:57:40 +0300 |
commit | b8347e3a45db4fc06ac158ae6c9831a8437c91c9 (patch) | |
tree | 5418728d9c9bafa1112cb39e6e88f00831722236 | |
parent | a62138bf908b028d5e19b96b928e771412ab68db (diff) | |
download | weston-b8347e3a45db4fc06ac158ae6c9831a8437c91c9.tar.gz |
compositor-drm: Prevent a crash in the pixman renderer
When pixman is used and no connector could be found (or any other
error), drm_backend_create() tried to destroy a gbm_device that would
only be created in init_egl(), resulting in a segfault.
Signed-off-by: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
-rw-r--r-- | src/compositor-drm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compositor-drm.c b/src/compositor-drm.c index 1ce9b2d2..893877d9 100644 --- a/src/compositor-drm.c +++ b/src/compositor-drm.c @@ -3191,7 +3191,8 @@ err_drm_source: err_udev_input: udev_input_destroy(&b->input); err_sprite: - gbm_device_destroy(b->gbm); + if (b->gbm) + gbm_device_destroy(b->gbm); destroy_sprites(b); err_udev_dev: udev_device_unref(drm_device); |