diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-08 19:03:16 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-08 19:03:16 +0000 |
commit | cdc10137284e3750b2a306ebd941430d2dfd3bce (patch) | |
tree | 6b525caa7aeec4c540a1d34f0ae4ccedc49d3f04 /chrome/renderer/webplugin_delegate_proxy.cc | |
parent | b8c24a6a6c2a30775b27d0089cb274e768a1c778 (diff) | |
download | chromium_src-cdc10137284e3750b2a306ebd941430d2dfd3bce.zip chromium_src-cdc10137284e3750b2a306ebd941430d2dfd3bce.tar.gz chromium_src-cdc10137284e3750b2a306ebd941430d2dfd3bce.tar.bz2 |
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
Diffstat (limited to 'chrome/renderer/webplugin_delegate_proxy.cc')
-rw-r--r-- | chrome/renderer/webplugin_delegate_proxy.cc | 2 |
1 files changed, 2 insertions, 0 deletions
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<int>(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); |