mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 782786 - BasicCanvasLayer: avoid UpdateSurface of non-dirty canvases - r=BenWa
This commit is contained in:
parent
bd1a76ff71
commit
81cec1c6c4
@ -120,6 +120,10 @@ BasicCanvasLayer::Initialize(const Data& aData)
|
||||
void
|
||||
BasicCanvasLayer::UpdateSurface(gfxASurface* aDestSurface, Layer* aMaskLayer)
|
||||
{
|
||||
if (!mDirty)
|
||||
return;
|
||||
mDirty = false;
|
||||
|
||||
if (mDrawTarget) {
|
||||
mDrawTarget->Flush();
|
||||
// TODO Fix me before turning accelerated quartz canvas by default
|
||||
@ -133,10 +137,6 @@ BasicCanvasLayer::UpdateSurface(gfxASurface* aDestSurface, Layer* aMaskLayer)
|
||||
return;
|
||||
}
|
||||
|
||||
if (!mDirty)
|
||||
return;
|
||||
mDirty = false;
|
||||
|
||||
if (mGLContext) {
|
||||
if (aDestSurface && aDestSurface->GetType() != gfxASurface::SurfaceTypeImage) {
|
||||
NS_ASSERTION(aDestSurface->GetType() == gfxASurface::SurfaceTypeImage,
|
||||
@ -229,6 +229,9 @@ BasicCanvasLayer::UpdateSurface(gfxASurface* aDestSurface, Layer* aMaskLayer)
|
||||
void
|
||||
BasicCanvasLayer::Paint(gfxContext* aContext, Layer* aMaskLayer)
|
||||
{
|
||||
if (!mDirty)
|
||||
return;
|
||||
|
||||
if (IsHidden())
|
||||
return;
|
||||
UpdateSurface();
|
||||
@ -393,6 +396,9 @@ BasicShadowableCanvasLayer::Paint(gfxContext* aContext, Layer* aMaskLayer)
|
||||
return;
|
||||
}
|
||||
|
||||
if (!mDirty)
|
||||
return;
|
||||
|
||||
if (mGLContext &&
|
||||
!mForceReadback &&
|
||||
BasicManager()->GetParentBackendType() == mozilla::layers::LAYERS_OPENGL) {
|
||||
|
Loading…
Reference in New Issue
Block a user