Changeset 85781 in webkit


Ignore:
Timestamp:
May 4, 2011 1:17:48 PM (13 years ago)
Author:
cmarrin@apple.com
Message:

2011-05-04 Chris Marrin <cmarrin@apple.com>

Reviewed by Simon Fraser.

Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
https://bugs.webkit.org/show_bug.cgi?id=60191

Skip replaceSublayer when there is no superlayer rather than asserting.
This is probably not a problem and happens when restructuring the layer
tree. Avoiding this crash will allow us to get more testing.

  • platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r85773 r85781  
     12011-05-04  Chris Marrin  <cmarrin@apple.com>
     2
     3        Reviewed by Simon Fraser.
     4
     5        Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
     6        https://bugs.webkit.org/show_bug.cgi?id=60191
     7
     8        Skip replaceSublayer when there is no superlayer rather than asserting.
     9        This is probably not a problem and happens when restructuring the layer
     10        tree. Avoiding this crash will allow us to get more testing.
     11
     12        * platform/graphics/ca/GraphicsLayerCA.cpp:
     13        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
     14
    1152011-05-04  Martin Robinson  <mrobinson@igalia.com>
    216
  • trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp

    r85681 r85781  
    20422042    m_layer->adoptSublayers(oldLayer.get());
    20432043   
    2044     // If m_layer doesn't have a parent, it means it's the root layer and
    2045     // is likely hosted by something that is not expecting to be changed
     2044    // FIXME: Skip this step if we don't have a superlayer. This is problably a benign
     2045    // case that happens while restructuring the layer tree.
    20462046    ASSERT(oldLayer->superlayer());
    2047     oldLayer->superlayer()->replaceSublayer(oldLayer.get(), m_layer.get());
     2047    if (oldLayer->superlayer())
     2048        oldLayer->superlayer()->replaceSublayer(oldLayer.get(), m_layer.get());
    20482049
    20492050    updateContentsTransform();
Note: See TracChangeset for help on using the changeset viewer.