Bug 1153724 - Only assert if the size was reasonable to start. r=mchang

--HG--
extra : rebase_source : eabc5cc3d3b749b7afd4fdf689c7a36a7231ce2f
This commit is contained in:
Milan Sreckovic 2015-04-13 17:07:01 -04:00
Родитель 2807063b52
Коммит 62b9185477
1 изменённых файлов: 4 добавлений и 5 удалений

Просмотреть файл

@ -650,7 +650,7 @@ RotatedContentBuffer::BeginPaint(PaintedLayer* aLayer,
&destDTBuffer, &destDTBufferOnWhite);
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;
gfxCriticalError(CriticalLog::DefaultOptions(Factory::ReasonableSurfaceSize(IntSize(destBufferRect.width, destBufferRect.height)))) << "Failed 1 buffer db=" << hexa(destDTBuffer.get()) << " dw=" << hexa(destDTBufferOnWhite.get()) << " for " << destBufferRect.x << ", " << destBufferRect.y << ", " << destBufferRect.width << ", " << destBufferRect.height;
return result;
}
}
@ -672,7 +672,7 @@ RotatedContentBuffer::BeginPaint(PaintedLayer* aLayer,
&destDTBuffer, &destDTBufferOnWhite);
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;
gfxCriticalError(CriticalLog::DefaultOptions(Factory::ReasonableSurfaceSize(IntSize(destBufferRect.width, destBufferRect.height)))) << "Failed 2 buffer db=" << hexa(destDTBuffer.get()) << " dw=" << hexa(destDTBufferOnWhite.get()) << " for " << destBufferRect.x << ", " << destBufferRect.y << ", " << destBufferRect.width << ", " << destBufferRect.height;
return result;
}
}
@ -753,9 +753,8 @@ RotatedContentBuffer::BorrowDrawTargetForPainting(PaintState& aPaintState,
if (aPaintState.mMode == SurfaceMode::SURFACE_COMPONENT_ALPHA) {
if (!mDTBuffer || !mDTBufferOnWhite) {
// This can happen in release builds if allocating one of the two buffers
// failed. This is pretty bad and the reason for the failure is already
// reported through gfxCriticalError.
MOZ_ASSERT(false);
// failed. This in turn can happen if unreasonably large textures are
// requested.
return nullptr;
}
nsIntRegionRectIterator iter(*drawPtr);