summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrea Canciani <ranma42@gmail.com>2010-07-27 18:55:38 +0200
committerAndrea Canciani <ranma42@gmail.com>2010-10-07 20:44:50 +0200
commitf156f89db071cc09e35e30de0c9ac7b5824f6849 (patch)
tree25066de31d51b9227392c2ea885d9b3e06d26ac8 /src
parentc5fc8fa62fa92a80a5d8ee84cfe610ec4497fef6 (diff)
quartz: Simplify cairo_quartz_surface_create_for_cg_context
Only retaining the context when the surface cration is successful avoids needless retaining and simplifies the code.
Diffstat (limited to 'src')
-rw-r--r--src/cairo-quartz-surface.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c
index a243066d..e89e91d7 100644
--- a/src/cairo-quartz-surface.c
+++ b/src/cairo-quartz-surface.c
@@ -3029,15 +3029,10 @@ cairo_quartz_surface_create_for_cg_context (CGContextRef cgContext,
{
cairo_quartz_surface_t *surf;
- CGContextRetain (cgContext);
-
surf = _cairo_quartz_surface_create_internal (cgContext, CAIRO_CONTENT_COLOR_ALPHA,
width, height);
- if (surf->base.status) {
- CGContextRelease (cgContext);
- // create_internal will have set an error
- return &surf->base;
- }
+ if (likely (!surf->base.status))
+ CGContextRetain (cgContext);
return &surf->base;
}