[lasem] lsm_cairo: flush surfaces before using them.



commit 41a8cfe40bfa61be35e5c4928d94ea8fa6aa1087
Author: Emmanuel Pacaud <emmanuel gnome org>
Date:   Sun Oct 14 17:42:50 2012 +0200

    lsm_cairo: flush surfaces before using them.

 src/lsmcairo.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/src/lsmcairo.c b/src/lsmcairo.c
index 4b31cd1..49574b7 100644
--- a/src/lsmcairo.c
+++ b/src/lsmcairo.c
@@ -253,6 +253,8 @@ lsm_filter_surface_fast_blur (LsmFilterSurface *input,
 	g_return_if_fail (input != NULL);
 	g_return_if_fail (output != NULL);
 
+	cairo_surface_flush (input->surface);
+
 	kx = floor (sx * 3 * sqrt (2 * M_PI) / 4 + 0.5);
 	ky = floor (sy * 3 * sqrt (2 * M_PI) / 4 + 0.5);
 
@@ -282,6 +284,8 @@ lsm_filter_surface_flood (LsmFilterSurface *surface, guint32 color, double opaci
 
 	g_return_if_fail (surface != NULL);
 
+	cairo_surface_flush (surface->surface);
+
 	stride = cairo_image_surface_get_stride (surface->surface);
 	pixels = cairo_image_surface_get_data (surface->surface);
 
@@ -314,6 +318,9 @@ lsm_filter_surface_blend (LsmFilterSurface *input_1,
 	g_return_if_fail (input_2 != NULL);
 	g_return_if_fail (output != NULL);
 
+	cairo_surface_flush (input_1->surface);
+	cairo_surface_flush (input_2->surface);
+
 	switch (blending_mode) {
 		case LSM_SVG_BLENDING_MODE_MULTIPLY:
 			op = CAIRO_OPERATOR_MULTIPLY;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]