diff --git a/gfx/layers/client/TextureClient.cpp b/gfx/layers/client/TextureClient.cpp index 3a743524b8bf..1e05ae443cf6 100644 --- a/gfx/layers/client/TextureClient.cpp +++ b/gfx/layers/client/TextureClient.cpp @@ -592,7 +592,12 @@ void TextureClient::EnableReadLock() { if (!mReadLock) { - mReadLock = NonBlockingTextureReadLock::Create(mAllocator); + if (mAllocator->GetTileLockAllocator()) { + mReadLock = NonBlockingTextureReadLock::Create(mAllocator); + } else { + // IPC is down + gfxCriticalError() << "TextureClient::EnableReadLock IPC is down"; + } } } @@ -1679,6 +1684,7 @@ ShmemTextureReadLock::ShmemTextureReadLock(LayersIPCChannel* aAllocator) { MOZ_COUNT_CTOR(ShmemTextureReadLock); MOZ_ASSERT(mClientAllocator); + MOZ_ASSERT(mClientAllocator->GetTileLockAllocator()); #define MOZ_ALIGN_WORD(x) (((x) + 3) & ~3) if (mClientAllocator->GetTileLockAllocator()->AllocShmemSection( MOZ_ALIGN_WORD(sizeof(ShmReadLockInfo)), &mShmemSection)) {