diff options
-rw-r--r-- | src/mesa/drivers/x11/xm_api.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c index 8105f4dbd52..2ba65ffd787 100644 --- a/src/mesa/drivers/x11/xm_api.c +++ b/src/mesa/drivers/x11/xm_api.c @@ -847,15 +847,18 @@ XMesaVisual XMesaCreateVisual( XMesaDisplay *display, alpha_bits = v->mesa_visual.alphaBits; } - _mesa_initialize_visual( &v->mesa_visual, - db_flag, stereo_flag, - red_bits, green_bits, - blue_bits, alpha_bits, - depth_size, - stencil_size, - accum_red_size, accum_green_size, - accum_blue_size, accum_alpha_size, - 0 ); + if (!_mesa_initialize_visual(&v->mesa_visual, + db_flag, stereo_flag, + red_bits, green_bits, + blue_bits, alpha_bits, + depth_size, + stencil_size, + accum_red_size, accum_green_size, + accum_blue_size, accum_alpha_size, + 0)) { + FREE(v); + return NULL; + } /* XXX minor hack */ v->mesa_visual.level = level; |