Bug 1232231 - BorrowDrawTarget can return nullptr - be ready for it. r=nical

--HG--
extra : rebase_source : de5fe177dd405078ba9c370b49b3168a8a51bc29
extra : source : e22122a3bf90033684f1ce762ea29d7e10ae3b93
This commit is contained in:
Milan Sreckovic 2016-01-04 09:50:00 -05:00
Родитель 2c4e6b6e51
Коммит 0fb767e1f4
2 изменённых файлов: 14 добавлений и 3 удалений

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

@ -40,7 +40,12 @@ TextureWrapperImage::GetAsSourceSurface()
return nullptr;
}
return mTextureClient->BorrowDrawTarget()->Snapshot();
RefPtr<DrawTarget> dt = mTextureClient->BorrowDrawTarget();
if (!dt) {
return nullptr;
}
return dt->Snapshot();
}
TextureClient*

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

@ -372,8 +372,14 @@ public:
*/
already_AddRefed<gfx::DataSourceSurface> GetAsSurface() {
Lock(OpenMode::OPEN_READ);
RefPtr<gfx::SourceSurface> surf = BorrowDrawTarget()->Snapshot();
RefPtr<gfx::DataSourceSurface> data = surf->GetDataSurface();
RefPtr<gfx::DataSourceSurface> data;
RefPtr<gfx::DrawTarget> dt = BorrowDrawTarget();
if (dt) {
RefPtr<gfx::SourceSurface> surf = dt->Snapshot();
if (surf) {
data = surf->GetDataSurface();
}
}
Unlock();
return data.forget();
}