aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChad Versace <chad.versace@intel.com>2015-02-26 16:27:23 -0800
committerChad Versace <chad.versace@intel.com>2015-02-26 16:27:23 -0800
commit3ddbfdb25d8cc39595cb7a2e7532a642c1c183a7 (patch)
treedfed1dd42a0ba088dbf5507c93a4e1c5d3cf15cc
parent9f003eb55d2ec3918a77905de810de9e0d37e5f3 (diff)
parent0d71e456425ddf900073cd4408daa4c6751fbe51 (diff)
downloadwaffle-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.c10
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