From cdc10137284e3750b2a306ebd941430d2dfd3bce Mon Sep 17 00:00:00 2001 From: "estade@chromium.org" Date: Thu, 8 Jul 2010 19:03:16 +0000 Subject: Linux: Flush cairo surface at end of CanvasPaintLinux. I also added some cairo_surface_flush calls for good measure, mostly to match the GIMP patch, but I don't really have any way of testing whether these are necessary. BUG=47064 TEST=manual (see bug) - throbber, download icons, etc. should be fixed Review URL: http://codereview.chromium.org/2802034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51871 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/renderer/webplugin_delegate_proxy.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'chrome/renderer/webplugin_delegate_proxy.cc') diff --git a/chrome/renderer/webplugin_delegate_proxy.cc b/chrome/renderer/webplugin_delegate_proxy.cc index 9fa30d1..8847957 100644 --- a/chrome/renderer/webplugin_delegate_proxy.cc +++ b/chrome/renderer/webplugin_delegate_proxy.cc @@ -869,6 +869,7 @@ bool WebPluginDelegateProxy::BackgroundChanged( int bytes_per_pixel = CGBitmapContextGetBitsPerPixel(context) / 8; #else + cairo_surface_flush(page_surface); const unsigned char* page_bytes = cairo_image_surface_get_data(page_surface); int page_stride = cairo_image_surface_get_stride(page_surface); int page_start_x = static_cast(page_x_double); @@ -879,6 +880,7 @@ bool WebPluginDelegateProxy::BackgroundChanged( cairo_surface_t* bg_surface = cairo_get_target(device.beginPlatformPaint()); DCHECK_EQ(cairo_surface_get_type(bg_surface), CAIRO_SURFACE_TYPE_IMAGE); DCHECK_EQ(cairo_image_surface_get_format(bg_surface), CAIRO_FORMAT_ARGB32); + cairo_surface_flush(bg_surface); const unsigned char* bg_bytes = cairo_image_surface_get_data(bg_surface); int full_bg_width = cairo_image_surface_get_width(bg_surface); int full_bg_height = cairo_image_surface_get_height(bg_surface); -- cgit v1.1