[PATCH 1/2] Don't return NULL to clients when getting image
Bryce Harrington <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
Return an error surface instead. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=58061 Signed-off-by: Bryce Harrington <[email protected]> --- src/cairo-qt-surface.cpp | 2 +- src/cairo-quartz-image-surface.c | 2 +- src/win32/cairo-win32-surface.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cairo-qt-surface.cpp b/src/cairo-qt-surface.cpp index 8a91984..d1c7760 100644 --- a/src/cairo-qt-surface.cpp +++ b/src/cairo-qt-surface.cpp @@ -1688,7 +1688,7 @@ cairo_qt_surface_get_image (cairo_surface_t *surface) cairo_qt_surface_t *qs = (cairo_qt_surface_t*) surface; if (surface->type != CAIRO_SURFACE_TYPE_QT) - return NULL; + return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH)); return qs->image_equiv; } diff --git a/src/cairo-quartz-image-surface.c b/src/cairo-quartz-image-surface.c index 2715abd..511b634 100644 --- a/src/cairo-quartz-image-surface.c +++ b/src/cairo-quartz-image-surface.c @@ -379,7 +379,7 @@ cairo_quartz_image_surface_get_image (cairo_surface_t *asurface) cairo_quartz_image_surface_t *surface = (cairo_quartz_image_surface_t*) asurface; if (asurface->type != CAIRO_SURFACE_TYPE_QUARTZ_IMAGE) - return NULL; + return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH)); return (cairo_surface_t*) surface->imageSurface; } diff --git a/src/win32/cairo-win32-surface.c b/src/win32/cairo-win32-surface.c index 7cd46fc..f11cbd8 100644 --- a/src/win32/cairo-win32-surface.c +++ b/src/win32/cairo-win32-surface.c @@ -188,7 +188,7 @@ cairo_surface_t * cairo_win32_surface_get_image (cairo_surface_t *surface) { if (surface->backend->type != CAIRO_SURFACE_TYPE_WIN32) - return NULL; + return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH)); GdiFlush(); return to_win32_display_surface(surface)->image; -- 1.7.9.5 -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo