Title: [94202] trunk/Source/WebCore
Revision
94202
Author
senorbla...@chromium.org
Date
2011-08-31 10:41:21 -0700 (Wed, 31 Aug 2011)

Log Message

[chromium] Set the GrContext before SkGpuDevice is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=67296

When SkGpuDevice is destroyed, it frees the FBO used for accelerated
rendering.  If the wrong context is set (e.g., compositor context),
a crash may result.

Reviewed by Kenneth Russell.

No new tests.  (Unfortunately, wrong-context bugs are difficult to
express in a layout test).

* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::~ImageBuffer):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (94201 => 94202)


--- trunk/Source/WebCore/ChangeLog	2011-08-31 17:32:36 UTC (rev 94201)
+++ trunk/Source/WebCore/ChangeLog	2011-08-31 17:41:21 UTC (rev 94202)
@@ -1,3 +1,20 @@
+2011-08-31  Stephen White  <senorbla...@chromium.org>
+
+        [chromium] Set the GrContext before SkGpuDevice is destroyed.
+        https://bugs.webkit.org/show_bug.cgi?id=67296
+
+        When SkGpuDevice is destroyed, it frees the FBO used for accelerated
+        rendering.  If the wrong context is set (e.g., compositor context),
+        a crash may result.
+
+        Reviewed by Kenneth Russell.
+
+        No new tests.  (Unfortunately, wrong-context bugs are difficult to
+        express in a layout test).
+
+        * platform/graphics/skia/ImageBufferSkia.cpp:
+        (WebCore::ImageBuffer::~ImageBuffer):
+
 2011-08-31  Eric Carlson  <eric.carl...@apple.com>
 
         Clean up HTMLMediaElement behavior restrictions

Modified: trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp (94201 => 94202)


--- trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp	2011-08-31 17:32:36 UTC (rev 94201)
+++ trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp	2011-08-31 17:41:21 UTC (rev 94202)
@@ -116,6 +116,8 @@
 
 ImageBuffer::~ImageBuffer()
 {
+    // This is so that the SkGpuDevice destructor has the correct context.
+    m_context->platformContext()->makeGrContextCurrent();
 }
 
 GraphicsContext* ImageBuffer::context() const
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to