diff options
author | Chad Versace <chad.versace@intel.com> | 2015-02-26 16:27:23 -0800 |
---|---|---|
committer | Chad Versace <chad.versace@intel.com> | 2015-02-26 16:27:23 -0800 |
commit | 3ddbfdb25d8cc39595cb7a2e7532a642c1c183a7 (patch) | |
tree | dfed1dd42a0ba088dbf5507c93a4e1c5d3cf15cc | |
parent | 9f003eb55d2ec3918a77905de810de9e0d37e5f3 (diff) | |
parent | 0d71e456425ddf900073cd4408daa4c6751fbe51 (diff) | |
download | waffle-3ddbfdb25d8cc39595cb7a2e7532a642c1c183a7.tar.gz |
Merge branch 'maint-1.5'
* maint-1.5:
gbm: Fix crash when eglChooseConfig fails
-rw-r--r-- | src/waffle/gbm/wgbm_config.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/waffle/gbm/wgbm_config.c b/src/waffle/gbm/wgbm_config.c index be1d4e3..67470d5 100644 --- a/src/waffle/gbm/wgbm_config.c +++ b/src/waffle/gbm/wgbm_config.c @@ -35,14 +35,18 @@ wgbm_config_choose(struct wcore_platform *wc_plat, struct wcore_display *wc_dpy, const struct wcore_config_attrs *attrs) { - struct wcore_config *config = wegl_config_choose(wc_plat, wc_dpy, attrs); - if (wgbm_config_get_gbm_format(wc_plat, wc_dpy, config) == 0) { + struct wcore_config *wc_config = wegl_config_choose(wc_plat, wc_dpy, attrs); + if (!wc_config) + return NULL; + + if (wgbm_config_get_gbm_format(wc_plat, wc_dpy, wc_config) == 0) { wcore_errorf(WAFFLE_ERROR_UNSUPPORTED_ON_PLATFORM, "requested config is unsupported on GBM"); + wegl_config_destroy(wc_config); return NULL; } - return wegl_config_choose(wc_plat, wc_dpy, attrs); + return wc_config; } uint32_t |