Fix race condition when mapping a D2D surface while its DrawTarget mutates. (bug 1418348, r=bas)

--HG--
extra : rebase_source : cf16e7f1cea664327b00f01bd42380de672cd9b4
This commit is contained in:
David Anderson 2017-12-12 14:52:54 -06:00
Родитель 9039b0d214
Коммит a830f56d14
1 изменённых файлов: 6 добавлений и 1 удалений

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

@ -41,13 +41,18 @@ SourceSurfaceD2D1::IsValid() const
already_AddRefed<DataSourceSurface>
SourceSurfaceD2D1::GetDataSurface()
{
HRESULT hr;
Maybe<MutexAutoLock> lock;
if (mSnapshotLock) {
lock.emplace(*mSnapshotLock);
}
if (!EnsureRealizedBitmap()) {
gfxCriticalError() << "Failed to realize a bitmap, device " << hexa(mDevice);
return nullptr;
}
HRESULT hr;
RefPtr<ID2D1Bitmap1> softwareBitmap;
D2D1_BITMAP_PROPERTIES1 props;
props.dpiX = 96;