summaryrefslogtreecommitdiff
path: root/src/cairo-xcb-surface.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cairo-xcb-surface.c')
-rw-r--r--src/cairo-xcb-surface.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c
index 427345ae4..40a4ec835 100644
--- a/src/cairo-xcb-surface.c
+++ b/src/cairo-xcb-surface.c
@@ -256,6 +256,10 @@ _cairo_xcb_surface_create_similar (void *abstract_src,
cairo_xcb_surface_create_with_xrender_format (dpy, d,
&xrender_format,
width, height);
+ if (surface->base.status) {
+ _cairo_error (CAIRO_STATUS_NO_MEMORY);
+ return (cairo_surface_t*) &_cairo_surface_nil;
+ }
surface->owns_pixmap = TRUE;
@@ -653,7 +657,7 @@ _cairo_xcb_surface_clone_similar (void *abstract_surface,
_cairo_xcb_surface_create_similar (surface, content,
image_src->width, image_src->height);
if (clone->base.status)
- return clone->base.status;
+ return CAIRO_STATUS_NO_MEMORY;
_draw_image_surface (clone, image_src, 0, 0);