Bug 1200021 - crash in mozilla::layers::ContentClientDoubleBuffered::FinalizeFrame(nsIntRegion const&): Diagnostics to get more data. r=bas

This commit is contained in:
Milan Sreckovic 2015-09-19 11:19:07 +02:00
Родитель b1c32e6929
Коммит d7bc700e96
3 изменённых файлов: 11 добавлений и 3 удалений

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

@ -401,7 +401,7 @@ Factory::CreateDrawTargetForData(BackendType aBackend,
}
#endif
default:
gfxDebug() << "Invalid draw target type specified.";
gfxCriticalNote << "Invalid draw target type specified: " << (int)aBackend;
return nullptr;
}
@ -410,7 +410,7 @@ Factory::CreateDrawTargetForData(BackendType aBackend,
}
if (!retVal) {
gfxDebug() << "Failed to create DrawTarget, Type: " << int(aBackend) << " Size: " << aSize;
gfxCriticalNote << "Failed to create DrawTarget, Type: " << int(aBackend) << " Size: " << aSize << ", Data: " << hexa(aData) << ", Stride: " << aStride;
}
return retVal.forget();

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

@ -151,9 +151,13 @@ already_AddRefed<DrawTarget>
ImageDataSerializerBase::GetAsDrawTarget(gfx::BackendType aBackend)
{
MOZ_ASSERT(IsValid());
return gfx::Factory::CreateDrawTargetForData(aBackend,
RefPtr<DrawTarget> dt = gfx::Factory::CreateDrawTargetForData(aBackend,
GetData(), GetSize(),
GetStride(), GetFormat());
if (!dt) {
gfxCriticalNote << "Failed GetAsDrawTarget " << IsValid() << ", " << hexa(size_t(mData)) << " + " << SurfaceBufferInfo::GetOffset() << ", " << GetSize() << ", " << GetStride() << ", " << (int)GetFormat();
}
return dt.forget();
}
already_AddRefed<gfx::DataSourceSurface>

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

@ -845,6 +845,7 @@ BufferTextureClient::BorrowDrawTarget()
ImageDataSerializer serializer(GetBuffer(), GetBufferSize());
if (!serializer.IsValid()) {
gfxCriticalNote << "Invalid serializer " << IsValid() << ", " << IsLocked() << ", " << GetBufferSize();
return nullptr;
}
@ -854,6 +855,9 @@ BufferTextureClient::BorrowDrawTarget()
}
mDrawTarget = serializer.GetAsDrawTarget(BackendType::CAIRO);
if (!mDrawTarget) {
gfxCriticalNote << "BorrowDrawTarget failure, original backend " << (int)mBackend;
}
return mDrawTarget;
}