Fix black screen after minimizing OpenGL window with ANGLE
CreateTexture will fail on zero dimensions, so just release old target and reset dimensions when resetSwapChain is called with zero size area. Task-number: QTBUG-27994 Change-Id: I1e500c4fd4b92f7d9ea2a49a44f3fb930b575cd1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>bb10
parent
b8341127c0
commit
85e9ba4958
|
|
@ -224,6 +224,22 @@ bool Surface::resetSwapChain(int backbufferWidth, int backbufferHeight)
|
|||
pShareHandle = &mShareHandle;
|
||||
}
|
||||
|
||||
// CreateTexture will fail on zero dimensions, so just release old target
|
||||
if (!backbufferWidth || !backbufferHeight)
|
||||
{
|
||||
if (mRenderTarget)
|
||||
{
|
||||
mRenderTarget->Release();
|
||||
mRenderTarget = NULL;
|
||||
}
|
||||
|
||||
mWidth = backbufferWidth;
|
||||
mHeight = backbufferHeight;
|
||||
mPresentIntervalDirty = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
result = device->CreateTexture(backbufferWidth, backbufferHeight, 1, D3DUSAGE_RENDERTARGET,
|
||||
mConfig->mRenderTargetFormat, D3DPOOL_DEFAULT, &mOffscreenTexture, pShareHandle);
|
||||
if (FAILED(result))
|
||||
|
|
|
|||
Loading…
Reference in New Issue