Bug 1350794 - Avoid dereferencing aProvider when null in DataTextureSourceD3D11 constructor
- Require
bug 1350247 patch to land first to fix WebVR crash
MozReview-Commit-ID: fEsjE22mPc
--- a/gfx/layers/d3d11/TextureD3D11.cpp
+++ b/gfx/layers/d3d11/TextureD3D11.cpp
@@ -800,17 +800,21 @@ DXGITextureHostD3D11::LockInternal()
}
if (!mTextureSource) {
if (!mTexture && !OpenSharedHandle()) {
DeviceManagerDx::Get()->ForceDeviceReset(ForcedDeviceResetReason::OPENSHAREDHANDLE);
return false;
}
- mTextureSource = new DataTextureSourceD3D11(mFormat, mProvider, mTexture);
+ if (mProvider) {
+ mTextureSource = new DataTextureSourceD3D11(mFormat, mProvider, mTexture);
+ } else {
+ mTextureSource = new DataTextureSourceD3D11(mDevice, mFormat, mTexture);
+ }
}
mIsLocked = LockD3DTexture(mTextureSource->GetD3D11Texture());
return mIsLocked;
}
void