From: hk57.kim Date: Wed, 2 Mar 2016 04:23:27 +0000 (+0900) Subject: [Add error handling for cairo_gl_device_set_thread_aware() API] X-Git-Tag: submit/tizen/20160302.044709^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=de73355cecef0b9466408c7b334928e33c3f990b;p=platform%2Fcore%2Fgraphics%2Fcairo.git [Add error handling for cairo_gl_device_set_thread_aware() API] Change-Id: Ie948efb70a0ac1b2db49bf7f4babc61b149be1f0 Signed-off-by: hk57.kim --- diff --git a/src/cairo-gl-device.c b/src/cairo-gl-device.c index 7069c8312..5dce9fb91 100644 --- a/src/cairo-gl-device.c +++ b/src/cairo-gl-device.c @@ -1100,11 +1100,24 @@ void cairo_gl_device_set_thread_aware (cairo_device_t *device, cairo_bool_t thread_aware) { + if ((! device)||(cairo_device_status(device)!= CAIRO_STATUS_SUCCESS)) { + fprintf (stderr, "cairo_gl_device_set_thread_aware(): cairo_device is NULL or not available\n"); + _cairo_error_throw (CAIRO_STATUS_DEVICE_ERROR); + return; + } if (device->backend->type != CAIRO_DEVICE_TYPE_GL) { _cairo_error_throw (CAIRO_STATUS_DEVICE_TYPE_MISMATCH); return; } - ((cairo_gl_context_t *) device)->thread_aware = thread_aware; + if(thread_aware == 0 || thread_aware == 1) + { + ((cairo_gl_context_t *) device)->thread_aware = thread_aware; + } + else + { + _cairo_device_set_error (device, CAIRO_STATUS_INVALID_STATUS); + return; + } } void _cairo_gl_context_reset (cairo_gl_context_t *ctx)