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 c4c4cf64ef
commit 0d3a3a5e9a

View File

@ -5280,17 +5280,17 @@ 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 {
aViewToPaint->GetViewManager()->InvalidateView(aViewToPaint);
} }
} else {
aViewToPaint->GetViewManager()->InvalidateView(aViewToPaint);
} }
frame->UpdatePaintCountForPaintedPresShells(); frame->UpdatePaintCountForPaintedPresShells();