Bug 796183 - Always invalidate the widget when doing empty transactions with a LayerManager. r=roc

This commit is contained in:
Matt Woodrow 2012-10-03 13:04:26 +13:00
parent 039c299dc9
commit a535ae1484

View File

@ -5280,18 +5280,18 @@ PresShell::Paint(nsIView* aViewToPaint,
} else { } else {
LayerProperties::ClearInvalidations(layerManager->GetRoot()); LayerProperties::ClearInvalidations(layerManager->GetRoot());
} }
if (!invalid.IsEmpty()) {
if (props) { if (props) {
if (!invalid.IsEmpty()) {
nsRect rect(presContext->DevPixelsToAppUnits(invalid.x), nsRect rect(presContext->DevPixelsToAppUnits(invalid.x),
presContext->DevPixelsToAppUnits(invalid.y), presContext->DevPixelsToAppUnits(invalid.y),
presContext->DevPixelsToAppUnits(invalid.width), presContext->DevPixelsToAppUnits(invalid.width),
presContext->DevPixelsToAppUnits(invalid.height)); presContext->DevPixelsToAppUnits(invalid.height));
aViewToPaint->GetViewManager()->InvalidateViewNoSuppression(aViewToPaint, rect); aViewToPaint->GetViewManager()->InvalidateViewNoSuppression(aViewToPaint, rect);
presContext->NotifyInvalidation(invalid, 0); presContext->NotifyInvalidation(invalid, 0);
}
} else { } else {
aViewToPaint->GetViewManager()->InvalidateView(aViewToPaint); aViewToPaint->GetViewManager()->InvalidateView(aViewToPaint);
} }
}
frame->UpdatePaintCountForPaintedPresShells(); frame->UpdatePaintCountForPaintedPresShells();
presContext->NotifyDidPaintForSubtree(); presContext->NotifyDidPaintForSubtree();