Index: skia/ext/bitmap_platform_device_linux.cc |
diff --git a/skia/ext/bitmap_platform_device_linux.cc b/skia/ext/bitmap_platform_device_linux.cc |
index 60feb453d56a3865ff96f96588752ae4db15441f..034d6bdac749ee75eab405d6386a9b22b9f8f893 100644 |
--- a/skia/ext/bitmap_platform_device_linux.cc |
+++ b/skia/ext/bitmap_platform_device_linux.cc |
@@ -153,9 +153,12 @@ bool BitmapPlatformDevice::IsVectorial() { |
cairo_t* BitmapPlatformDevice::beginPlatformPaint() { |
data_->LoadConfig(); |
cairo_t* cairo = data_->bitmap_context(); |
- // Tell Cairo that we've (probably) modified its pixel buffer without |
- // its knowledge. |
- cairo_surface_mark_dirty(cairo_get_target(cairo)); |
+ cairo_surface_t* surface = cairo_get_target(cairo); |
+ // Tell cairo to flush anything it has pending. |
+ cairo_surface_flush(surface); |
Evan Martin
2010/12/14 22:27:11
Doesn't this belong in endPlatformPaint()?
It seem
vandebo (ex-Chrome)
2010/12/14 22:47:53
I read the Docs the other way around. flush needs
|
+ // Tell Cairo that we (probably) modified (actually, will modify) its pixel |
+ // buffer directly. |
+ cairo_surface_mark_dirty(surface); |
return cairo; |
} |