mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-13 05:15:45 +00:00
Bug 1081911 - Null pointer check (wallpaper) for destDTBufferOnWhite. r=mattwoodrow
This commit is contained in:
parent
4993ea6729
commit
9ebbadf44d
@ -648,10 +648,9 @@ RotatedContentBuffer::BeginPaint(PaintedLayer* aLayer,
|
||||
destBufferRect = ComputeBufferRect(neededRegion.GetBounds());
|
||||
CreateBuffer(result.mContentType, destBufferRect, bufferFlags,
|
||||
&destDTBuffer, &destDTBufferOnWhite);
|
||||
MOZ_ASSERT(destDTBuffer, "Failed to allocate a texture");
|
||||
MOZ_ASSERT(destDTBufferOnWhite || !(bufferFlags & BUFFER_COMPONENT_ALPHA),
|
||||
"Failed to allocate the texture on white");
|
||||
if (!destDTBuffer) {
|
||||
if (!destDTBuffer ||
|
||||
(!destDTBufferOnWhite && (bufferFlags & BUFFER_COMPONENT_ALPHA))) {
|
||||
gfxCriticalError() << "Failed 1 buffer db=" << hexa(destDTBuffer.get()) << " dw=" << hexa(destDTBufferOnWhite.get()) << " for " << destBufferRect.x << ", " << destBufferRect.y << ", " << destBufferRect.width << ", " << destBufferRect.height;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -671,10 +670,9 @@ RotatedContentBuffer::BeginPaint(PaintedLayer* aLayer,
|
||||
// The buffer's not big enough, so allocate a new one
|
||||
CreateBuffer(result.mContentType, destBufferRect, bufferFlags,
|
||||
&destDTBuffer, &destDTBufferOnWhite);
|
||||
MOZ_ASSERT(destDTBuffer, "Failed to allocate a texture");
|
||||
MOZ_ASSERT(destDTBufferOnWhite || !(bufferFlags & BUFFER_COMPONENT_ALPHA),
|
||||
"Failed to allocate the texture on white");
|
||||
if (!destDTBuffer) {
|
||||
if (!destDTBuffer ||
|
||||
(!destDTBufferOnWhite && (bufferFlags & BUFFER_COMPONENT_ALPHA))) {
|
||||
gfxCriticalError() << "Failed 2 buffer db=" << hexa(destDTBuffer.get()) << " dw=" << hexa(destDTBufferOnWhite.get()) << " for " << destBufferRect.x << ", " << destBufferRect.y << ", " << destBufferRect.width << ", " << destBufferRect.height;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -700,12 +698,11 @@ RotatedContentBuffer::BeginPaint(PaintedLayer* aLayer,
|
||||
destDTBuffer->SetTransform(Matrix());
|
||||
|
||||
if (mode == SurfaceMode::SURFACE_COMPONENT_ALPHA) {
|
||||
NS_ASSERTION(destDTBufferOnWhite, "Must have a white buffer!");
|
||||
destDTBufferOnWhite->SetTransform(mat);
|
||||
if (!EnsureBufferOnWhite()) {
|
||||
if (!destDTBufferOnWhite || !EnsureBufferOnWhite()) {
|
||||
return result;
|
||||
}
|
||||
MOZ_ASSERT(mDTBufferOnWhite, "Have we got a Thebes buffer for some reason?");
|
||||
destDTBufferOnWhite->SetTransform(mat);
|
||||
DrawBufferWithRotation(destDTBufferOnWhite, BUFFER_WHITE, 1.0, CompositionOp::OP_SOURCE);
|
||||
destDTBufferOnWhite->SetTransform(Matrix());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user