Bug 1432411: Wallpaper over the case where there is no Screen. r=jgilbert
MozReview-Commit-ID: ISeBw7qxGdH
This commit is contained in:
@@ -405,23 +405,25 @@ CanvasClientSharedSurface::UpdateRenderer(gfx::IntSize aSize, Renderer& aRendere
|
||||
|
||||
RefPtr<TextureClient> newFront;
|
||||
|
||||
mShSurfClient = nullptr;
|
||||
if (canvasRenderer && canvasRenderer->mGLFrontbuffer) {
|
||||
mShSurfClient = CloneSurface(canvasRenderer->mGLFrontbuffer.get(), canvasRenderer->mFactory.get());
|
||||
if (!mShSurfClient) {
|
||||
gfxCriticalError() << "Invalid canvas front buffer";
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
} else if (gl->Screen()) {
|
||||
mShSurfClient = gl->Screen()->Front();
|
||||
if (mShSurfClient && mShSurfClient->GetAllocator() &&
|
||||
mShSurfClient->GetAllocator() != GetForwarder()->GetTextureForwarder()) {
|
||||
mShSurfClient = CloneSurface(mShSurfClient->Surf(), gl->Screen()->Factory());
|
||||
}
|
||||
if (!mShSurfClient) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
MOZ_ASSERT(mShSurfClient);
|
||||
|
||||
if (!mShSurfClient) {
|
||||
gfxCriticalError() << "Invalid canvas front buffer or screen";
|
||||
return;
|
||||
}
|
||||
|
||||
newFront = mShSurfClient;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user