summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libEGL/Surface.cpp
diff options
context:
space:
mode:
authorJonathan Liu <net147@gmail.com>2012-11-15 19:50:54 +1100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-15 10:54:21 +0100
commitaa309b967745506c5221e4d26e312ee492172059 (patch)
tree720a7f774e82860bbfb89fb1417695693e452537 /src/3rdparty/angle/src/libEGL/Surface.cpp
parentaeb566db73a2526e22145af17f6b5ed927eb6fbb (diff)
ANGLE: Invalidate client window area when resetting swap chain
Resizing a window larger results in the newly exposed region being invalidated but the old region is treated as valid. This can result in the old region no longer updating. This has been observed on Windows 7 64-bit with Aero theme using NVIDIA GeForce GTS 250 and driver version 301.42. Invalidate the entire client window area when resetting the swap chain so that it updates properly. Upstream patch: https://codereview.appspot.com/6812076/ Task-number: QTBUG-27822 Change-Id: I0f5d2004576019458baee74c35e52f69b893a219 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src/3rdparty/angle/src/libEGL/Surface.cpp')
-rw-r--r--src/3rdparty/angle/src/libEGL/Surface.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/3rdparty/angle/src/libEGL/Surface.cpp b/src/3rdparty/angle/src/libEGL/Surface.cpp
index 34df14cbb2..8e920ab81e 100644
--- a/src/3rdparty/angle/src/libEGL/Surface.cpp
+++ b/src/3rdparty/angle/src/libEGL/Surface.cpp
@@ -326,6 +326,7 @@ bool Surface::resetSwapChain(int backbufferWidth, int backbufferHeight)
result = mSwapChain->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &mBackBuffer);
ASSERT(SUCCEEDED(result));
+ InvalidateRect(mWindow, NULL, FALSE);
}
if (mConfig->mDepthStencilFormat != D3DFMT_UNKNOWN)