Bug 813356: Skip subtrees with null roots during resolution. r=roc a=blocking-basecamp

This commit is contained in:
Chris Jones 2012-12-03 12:45:42 -08:00
parent 3fae5f8a5d
commit 09dfcb2bb1

View File

@ -480,18 +480,19 @@ private:
{
if (RefLayer* ref = aLayer->AsRefLayer()) {
if (const LayerTreeState* state = GetIndirectShadowTree(ref->GetReferentId())) {
Layer* referent = state->mRoot;
if (OP == Resolve) {
ref->ConnectReferentLayer(referent);
if (AsyncPanZoomController* apzc = state->mController) {
referent->SetUserData(&sPanZoomUserDataKey,
new PanZoomUserData(apzc));
if (Layer* referent = state->mRoot) {
if (OP == Resolve) {
ref->ConnectReferentLayer(referent);
if (AsyncPanZoomController* apzc = state->mController) {
referent->SetUserData(&sPanZoomUserDataKey,
new PanZoomUserData(apzc));
} else {
CompensateForContentScrollOffset(ref, referent);
}
} else {
CompensateForContentScrollOffset(ref, referent);
ref->DetachReferentLayer(referent);
referent->RemoveUserData(&sPanZoomUserDataKey);
}
} else {
ref->DetachReferentLayer(referent);
referent->RemoveUserData(&sPanZoomUserDataKey);
}
}
}