Title: [102184] trunk/Source/WebKit2
Revision
102184
Author
[email protected]
Date
2011-12-06 15:29:48 -0800 (Tue, 06 Dec 2011)

Log Message

REGRESSION (r101838): Crash in LayerTreeHostCA::initialize() when accelerated drawing is enabled
https://bugs.webkit.org/show_bug.cgi?id=73955

Reviewed by Anders Carlsson.

* WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
(WebKit::LayerTreeHostCA::initialize): m_webPage->drawingArea() will be
null here if we are initializing the layer tree host in DrawingArea's
ctor (as is the case when accelerated drawing is enabled), before
WebPage has set its m_drawingArea pointer. Since the layer tree cannot
have been frozen at this point, it's safe to enable layer flush
scheduling if drawingArea() is null.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (102183 => 102184)


--- trunk/Source/WebKit2/ChangeLog	2011-12-06 23:11:05 UTC (rev 102183)
+++ trunk/Source/WebKit2/ChangeLog	2011-12-06 23:29:48 UTC (rev 102184)
@@ -1,3 +1,18 @@
+2011-12-06  Andy Estes  <[email protected]>
+
+        REGRESSION (r101838): Crash in LayerTreeHostCA::initialize() when accelerated drawing is enabled
+        https://bugs.webkit.org/show_bug.cgi?id=73955
+
+        Reviewed by Anders Carlsson.
+
+        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
+        (WebKit::LayerTreeHostCA::initialize): m_webPage->drawingArea() will be
+        null here if we are initializing the layer tree host in DrawingArea's
+        ctor (as is the case when accelerated drawing is enabled), before
+        WebPage has set its m_drawingArea pointer. Since the layer tree cannot
+        have been frozen at this point, it's safe to enable layer flush
+        scheduling if drawingArea() is null.
+
 2011-12-06  Alexander Færøy  <[email protected]>
 
         [Qt] Fix assertion in QtViewportInteractionEngine.cpp:468

Modified: trunk/Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.cpp (102183 => 102184)


--- trunk/Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.cpp	2011-12-06 23:11:05 UTC (rev 102183)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.cpp	2011-12-06 23:29:48 UTC (rev 102184)
@@ -77,7 +77,7 @@
 
     platformInitialize(m_layerTreeContext);
 
-    setLayerFlushSchedulingEnabled(!m_webPage->drawingArea()->layerTreeStateIsFrozen());
+    setLayerFlushSchedulingEnabled(!m_webPage->drawingArea() || !m_webPage->drawingArea()->layerTreeStateIsFrozen());
     scheduleLayerFlush();
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to