[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

philn at webkit.org philn at webkit.org
Wed Dec 22 12:54:36 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit d752a97f15c96da7952378befa432467bfdea26e
Author: philn at webkit.org <philn at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Sep 1 14:12:26 2010 +0000

    2010-08-27  Philippe Normand  <pnormand at igalia.com>
    
            Reviewed by Xan Lopez.
    
            [GStreamer] ImageGStreamer doesn't need to hold a Cairo surface
            https://bugs.webkit.org/show_bug.cgi?id=44757
    
            Pass the cairo surface to the BitmapImage constructor which will
            handle its life-cycle.
    
            * platform/graphics/gstreamer/ImageGStreamer.h:
            * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
            (ImageGStreamer::ImageGStreamer):
            (ImageGStreamer::~ImageGStreamer):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66600 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index e2d36eb..a2a721e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-08-27  Philippe Normand  <pnormand at igalia.com>
+
+        Reviewed by Xan Lopez.
+
+        [GStreamer] ImageGStreamer doesn't need to hold a Cairo surface
+        https://bugs.webkit.org/show_bug.cgi?id=44757
+
+        Pass the cairo surface to the BitmapImage constructor which will
+        handle its life-cycle.
+
+        * platform/graphics/gstreamer/ImageGStreamer.h:
+        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
+        (ImageGStreamer::ImageGStreamer):
+        (ImageGStreamer::~ImageGStreamer):
+
 2010-08-30  Patrick Gansterer  <paroga at paroga.com>
 
          Reviewed by Dirk Schulze.
diff --git a/WebCore/platform/graphics/gstreamer/ImageGStreamer.h b/WebCore/platform/graphics/gstreamer/ImageGStreamer.h
index 3d6d74a..9288df9 100644
--- a/WebCore/platform/graphics/gstreamer/ImageGStreamer.h
+++ b/WebCore/platform/graphics/gstreamer/ImageGStreamer.h
@@ -51,7 +51,6 @@ class ImageGStreamer : public RefCounted<ImageGStreamer> {
 
 #if PLATFORM(CAIRO)
         ImageGStreamer(GstBuffer*&, IntSize, cairo_format_t&);
-        cairo_surface_t* m_surface;
 #endif
 
 #if PLATFORM(MAC)
diff --git a/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp b/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp
index 6f975a4..aeaee19 100644
--- a/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp
+++ b/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp
@@ -49,13 +49,12 @@ PassRefPtr<ImageGStreamer> ImageGStreamer::createImage(GstBuffer* buffer)
 
 ImageGStreamer::ImageGStreamer(GstBuffer*& buffer, IntSize size, cairo_format_t& cairoFormat)
     : m_image(0)
-    , m_surface(0)
 {
-    m_surface = cairo_image_surface_create_for_data(GST_BUFFER_DATA(buffer), cairoFormat,
+    cairo_surface_t* surface = cairo_image_surface_create_for_data(GST_BUFFER_DATA(buffer), cairoFormat,
                                                     size.width(), size.height(),
                                                     cairo_format_stride_for_width(cairoFormat, size.width()));
-    ASSERT(cairo_surface_status(m_surface) == CAIRO_STATUS_SUCCESS);
-    m_image = BitmapImage::create(m_surface);
+    ASSERT(cairo_surface_status(surface) == CAIRO_STATUS_SUCCESS);
+    m_image = BitmapImage::create(surface);
 }
 
 ImageGStreamer::~ImageGStreamer()
@@ -64,9 +63,4 @@ ImageGStreamer::~ImageGStreamer()
         m_image.clear();
 
     m_image = 0;
-
-    if (m_surface && cairo_surface_get_reference_count(m_surface))
-        cairo_surface_destroy(m_surface);
-
-    m_surface = 0;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list