diff options
author | mh0310.choi <mh0310.choi@samsung.com> | 2015-07-28 10:46:57 +0900 |
---|---|---|
committer | mh0310.choi <mh0310.choi@samsung.com> | 2015-07-28 13:08:12 +0900 |
commit | 5e67a6f721eaedda61300baf0799199c7771ebd0 (patch) | |
tree | 6cd50b52498aab50e79b966cdccc2a137db316d9 /src/win32/cairo-win32-surface.c | |
parent | d3aeffba37161d2b76b29c4ea13369bd67a47a8e (diff) | |
download | cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.tar.gz cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.tar.bz2 cairo-5e67a6f721eaedda61300baf0799199c7771ebd0.zip |
Cairo version Upgrade for Tizen3.0submit/tizen_tv/20150728.091927submit/tizen_mobile/20150728.091912submit/tizen_common/20150728.091859accepted/tizen/tv/20150729.011254accepted/tizen/mobile/20150729.011230
- from 1.12.14 to 1.14.2
Change-Id: I3b62d212041b337bbb926d579f9ce74f42a45c3b
Diffstat (limited to 'src/win32/cairo-win32-surface.c')
-rw-r--r--[-rwxr-xr-x] | src/win32/cairo-win32-surface.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/win32/cairo-win32-surface.c b/src/win32/cairo-win32-surface.c index 7cd46fc60..e6862bd10 100755..100644 --- a/src/win32/cairo-win32-surface.c +++ b/src/win32/cairo-win32-surface.c @@ -172,6 +172,21 @@ cairo_win32_surface_get_dc (cairo_surface_t *surface) } /** + * _cairo_surface_is_win32: + * @surface: a #cairo_surface_t + * + * Checks if a surface is an #cairo_win32_surface_t + * + * Return value: %TRUE if the surface is an win32 surface + **/ +static inline cairo_bool_t +_cairo_surface_is_win32 (const cairo_surface_t *surface) +{ + /* _cairo_surface_nil sets a NULL backend so be safe */ + return surface->backend && surface->backend->type == CAIRO_SURFACE_TYPE_WIN32; +} + +/** * cairo_win32_surface_get_image: * @surface: a #cairo_surface_t * @@ -187,8 +202,10 @@ cairo_win32_surface_get_dc (cairo_surface_t *surface) cairo_surface_t * cairo_win32_surface_get_image (cairo_surface_t *surface) { - if (surface->backend->type != CAIRO_SURFACE_TYPE_WIN32) - return NULL; + + if (! _cairo_surface_is_win32 (surface)) { + return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH)); + } GdiFlush(); return to_win32_display_surface(surface)->image; |