summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhk57.kim <hk57.kim@samsung.com>2016-03-02 13:23:27 +0900
committerhk57.kim <hk57.kim@samsung.com>2016-03-02 13:23:27 +0900
commitde73355cecef0b9466408c7b334928e33c3f990b (patch)
treee6d0fd87c760a6e155e1c1bf9ef1ec2ed0b91e78
parentb5e7bd8a60bcbcbd93ded809418e79d72d4813b7 (diff)
downloadcairo-de73355cecef0b9466408c7b334928e33c3f990b.tar.gz
cairo-de73355cecef0b9466408c7b334928e33c3f990b.tar.bz2
cairo-de73355cecef0b9466408c7b334928e33c3f990b.zip
[Add error handling for cairo_gl_device_set_thread_aware() API]submit/tizen/20160302.044849submit/tizen/20160302.044709accepted/tizen/common/20160302.193548
Change-Id: Ie948efb70a0ac1b2db49bf7f4babc61b149be1f0 Signed-off-by: hk57.kim <hk57.kim@samsung.com>
-rw-r--r--src/cairo-gl-device.c15
1 files changed, 14 insertions, 1 deletions
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)