[Pkg-chromium-commit] chromium-browser/chromium-browser.sid: 655 Flush cairo surface at end of CanvasPaintLinux (Closes: #587164)

Giuseppe Iuculano iuculano at debian.org
Sun Jul 18 10:44:52 UTC 2010


Branch name: chromium-browser/chromium-browser.sid
Branch location : bzr+ssh://bzr.debian.org/bzr/pkg-chromium/chromium-browser/chromium-browser.sid
Browse location: http://bzr.debian.org/loggerhead/pkg-chromium
Revision No: 655
Revision Id: iuculano at debian.org-20100718104452-5rwwcwimtnbo69el
Committer: Giuseppe Iuculano <iuculano at debian.org>
Message : Flush cairo surface at end of CanvasPaintLinux (Closes: #587164)


--------------------------------------------------------
  ** Added :
        - debian/patches/libcairo.patch

  ** Modified :
        - debian/changelog
        - debian/patches/series

-------------- next part --------------
=== modified file 'debian/changelog'
--- a/debian/changelog	2010-07-17 15:23:05 +0000
+++ b/debian/changelog	2010-07-18 10:44:52 +0000
@@ -1,3 +1,9 @@
+chromium-browser (5.0.375.99~r51029-5) UNRELEASED; urgency=low
+
+  * Flush cairo surface at end of CanvasPaintLinux (Closes: #587164)
+
+ -- Giuseppe Iuculano <iuculano at debian.org>  Sun, 18 Jul 2010 12:43:25 +0200
+
 chromium-browser (5.0.375.99~r51029-4) unstable; urgency=low
 
   * Fix FTBFS with icu 4.4 (Closes: #589414)

=== added file 'debian/patches/libcairo.patch'
--- a/debian/patches/libcairo.patch	1970-01-01 00:00:00 +0000
+++ b/debian/patches/libcairo.patch	2010-07-18 10:44:52 +0000
@@ -0,0 +1,45 @@
+Flush cairo surface at end of CanvasPaintLinux
+--- a/src/skia/ext/bitmap_platform_device_linux.cc
++++ b/src/skia/ext/bitmap_platform_device_linux.cc
+@@ -47,7 +47,6 @@ class BitmapPlatformDevice::BitmapPlatfo
+   explicit BitmapPlatformDeviceData(cairo_surface_t* surface);
+ 
+   cairo_t* GetContext();
+-  cairo_surface_t* GetSurface();
+ 
+   // Sets the transform and clip operations. This will not update the Cairo
+   // surface, but will mark the config as dirty. The next call of LoadConfig
+@@ -110,13 +109,6 @@ void BitmapPlatformDevice::BitmapPlatfor
+   config_dirty_ = true;
+ }
+ 
+-cairo_surface_t*
+-BitmapPlatformDevice::BitmapPlatformDeviceData::GetSurface() {
+-  // TODO(brettw) this function should be removed.
+-  LoadConfig();
+-  return surface_;
+-}
+-
+ void BitmapPlatformDevice::BitmapPlatformDeviceData::LoadConfig() {
+   if (!config_dirty_ || !context_)
+     return;  // Nothing to do.
+--- a/src/skia/ext/canvas_paint_linux.h
++++ b/src/skia/ext/canvas_paint_linux.h
+@@ -49,6 +49,8 @@ class CanvasPaintT : public T {
+         cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+       cairo_surface_t* source_surface = cairo_get_target(context_);
+       CHECK(source_surface);
++      // Flush cairo's cache of the surface.
++      cairo_surface_mark_dirty(source_surface);
+       GdkRectangle bounds = rectangle();
+       cairo_set_source_surface(cr, source_surface, bounds.x, bounds.y);
+       gdk_cairo_region(cr, region_);
+@@ -83,7 +85,7 @@ class CanvasPaintT : public T {
+     GdkRectangle bounds = rectangle();
+     if (!T::initialize(bounds.width, bounds.height, opaque, NULL)) {
+       // Cause a deliberate crash;
+-      *(char*) 0 = 0;
++      CHECK(false);
+     }
+ 
+     // Need to translate so that the dirty region appears at the origin of the

=== modified file 'debian/patches/series'
--- a/debian/patches/series	2010-07-17 15:17:42 +0000
+++ b/debian/patches/series	2010-07-18 10:44:52 +0000
@@ -21,3 +21,4 @@
 gtk-ambiance.patch
 icu44.patch
 armv4.patch
+libcairo.patch



More information about the Pkg-chromium-commit mailing list