зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1200021 - crash in mozilla::layers::ContentClientDoubleBuffered::FinalizeFrame(nsIntRegion const&): Diagnostics to get more data. r=bas
This commit is contained in:
Родитель
b1c32e6929
Коммит
d7bc700e96
|
@ -401,7 +401,7 @@ Factory::CreateDrawTargetForData(BackendType aBackend,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
gfxDebug() << "Invalid draw target type specified.";
|
gfxCriticalNote << "Invalid draw target type specified: " << (int)aBackend;
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -410,7 +410,7 @@ Factory::CreateDrawTargetForData(BackendType aBackend,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!retVal) {
|
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();
|
return retVal.forget();
|
||||||
|
|
|
@ -151,9 +151,13 @@ already_AddRefed<DrawTarget>
|
||||||
ImageDataSerializerBase::GetAsDrawTarget(gfx::BackendType aBackend)
|
ImageDataSerializerBase::GetAsDrawTarget(gfx::BackendType aBackend)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(IsValid());
|
MOZ_ASSERT(IsValid());
|
||||||
return gfx::Factory::CreateDrawTargetForData(aBackend,
|
RefPtr<DrawTarget> dt = gfx::Factory::CreateDrawTargetForData(aBackend,
|
||||||
GetData(), GetSize(),
|
GetData(), GetSize(),
|
||||||
GetStride(), GetFormat());
|
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>
|
already_AddRefed<gfx::DataSourceSurface>
|
||||||
|
|
|
@ -845,6 +845,7 @@ BufferTextureClient::BorrowDrawTarget()
|
||||||
|
|
||||||
ImageDataSerializer serializer(GetBuffer(), GetBufferSize());
|
ImageDataSerializer serializer(GetBuffer(), GetBufferSize());
|
||||||
if (!serializer.IsValid()) {
|
if (!serializer.IsValid()) {
|
||||||
|
gfxCriticalNote << "Invalid serializer " << IsValid() << ", " << IsLocked() << ", " << GetBufferSize();
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -854,6 +855,9 @@ BufferTextureClient::BorrowDrawTarget()
|
||||||
}
|
}
|
||||||
|
|
||||||
mDrawTarget = serializer.GetAsDrawTarget(BackendType::CAIRO);
|
mDrawTarget = serializer.GetAsDrawTarget(BackendType::CAIRO);
|
||||||
|
if (!mDrawTarget) {
|
||||||
|
gfxCriticalNote << "BorrowDrawTarget failure, original backend " << (int)mBackend;
|
||||||
|
}
|
||||||
|
|
||||||
return mDrawTarget;
|
return mDrawTarget;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче