cairo-1.8.10-directfb.patch 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. diff --git a/src/cairo-directfb-surface.c b/src/cairo-directfb-surface.c
  2. index bb02dbf..65f2d55 100644
  3. --- a/src/cairo-directfb-surface.c
  4. +++ b/src/cairo-directfb-surface.c
  5. @@ -609,6 +609,8 @@ _cairo_directfb_surface_release_dest_image (void *abstract_surf
  6. surface->dfbsurface->Blit (surface->dfbsurface,
  7. buffer, NULL,
  8. image_rect->x, image_rect->y));
  9. +
  10. + surface->dfbsurface->ReleaseSource (surface->dfbsurface);
  11. }
  12. cairo_surface_destroy (&image->base);
  13. @@ -848,6 +850,9 @@ _directfb_finish_composite (cairo_directfb_surface_t *dst,
  14. cairo_surface_attributes_t *src_attr)
  15. {
  16. _cairo_pattern_release_surface (src_pattern, src, src_attr);
  17. +
  18. + if (dst->dfbsurface)
  19. + dst->dfbsurface->ReleaseSource( dst->dfbsurface );
  20. }
  21. #endif /* DFB_COMPOSITE || DFB_COMPOSITE_TRAPEZOIDS */
  22. @@ -1555,6 +1560,7 @@ _directfb_acquire_font_cache (cairo_directfb_surface_t *surface,
  23. new_cache->dfbsurface->Blit (new_cache->dfbsurface,
  24. cache->dfbsurface, NULL, 0, 0);
  25. + new_cache->dfbsurface->ReleaseSource (new_cache->dfbsurface);
  26. _directfb_destroy_font_cache (cache);
  27. scaled_font->surface_private = cache = new_cache;
  28. @@ -1778,6 +1784,7 @@ _cairo_directfb_surface_show_glyphs (void *abstract_dst,
  29. RUN_CLIPPED (dst, NULL,
  30. dst->dfbsurface->BatchBlit (dst->dfbsurface,
  31. cache->dfbsurface, rects, points, num));
  32. + dst->dfbsurface->ReleaseSource (dst->dfbsurface);
  33. return CAIRO_STATUS_SUCCESS;
  34. }