| --- cairo-1.10.2/src/cairo-directfb-surface.c 2010-06-18 12:47:12.000000000 +0100 |
| +++ cairo-1.10.2.mod/src/cairo-directfb-surface.c 2012-02-02 11:40:57.835273391 +0000 |
| @@ -700,6 +700,7 @@ |
| surface->dfbsurface->Blit (surface->dfbsurface, |
| buffer, NULL, |
| image_rect->x, image_rect->y); |
| + surface->dfbsurface->ReleaseSource (surface->dfbsurface); |
| } |
| |
| cairo_surface_destroy (&image->base); |
| @@ -928,6 +929,9 @@ |
| cairo_surface_attributes_t *src_attr) |
| { |
| _cairo_pattern_release_surface (src_pattern, src, src_attr); |
| + |
| + if (dst->dfbsurface) |
| + dst->dfbsurface->ReleaseSource (dst->dfbsurface); |
| } |
| #endif /* DFB_COMPOSITE || DFB_COMPOSITE_TRAPEZOIDS */ |
| |
| @@ -1584,6 +1588,7 @@ |
| |
| new_cache->dfbsurface->Blit (new_cache->dfbsurface, |
| cache->dfbsurface, NULL, 0, 0); |
| + new_cache->dfbsurface->ReleaseSource (new_cache->dfbsurface); |
| |
| _directfb_destroy_font_cache (cache); |
| scaled_font->surface_private = cache = new_cache; |
| @@ -1809,6 +1814,7 @@ |
| RUN_CLIPPED (dst, clip_region, NULL, |
| dst->dfbsurface->BatchBlit (dst->dfbsurface, |
| cache->dfbsurface, rects, points, num)); |
| + dst->dfbsurface->ReleaseSource (dst->dfbsurface); |
| |
| return CAIRO_STATUS_SUCCESS; |
| } |