From 9bbb8836098433f6110e129dd354f00443930225 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 9 Dec 2015 09:54:20 +0100 Subject: [PATCH] Windows backing store: Clamp region to 0,0. Workaround to prevent UpdateLayeredWindowIndirect from failing when invalid regions are passed by graphical effects. Task-number: QTBUG-49785 Change-Id: Icfd964d6b55fa945bc2afefc164ab047c3b2d0f8 --- src/plugins/platforms/windows/qwindowsbackingstore.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/windows/qwindowsbackingstore.cpp b/src/plugins/platforms/windows/qwindowsbackingstore.cpp index bd5c350..20fc638 100644 --- a/src/plugins/platforms/windows/qwindowsbackingstore.cpp +++ b/src/plugins/platforms/windows/qwindowsbackingstore.cpp @@ -87,7 +87,10 @@ void QWindowsBackingStore::flush(QWindow *window, const QRegion ®ion, QPoint frameOffset(QHighDpi::toNativePixels(QPoint(window->frameMargins().left(), window->frameMargins().top()), static_cast(Q_NULLPTR))); QRect dirtyRect = br.translated(offset + frameOffset); - + if (dirtyRect.x() < 0) + dirtyRect.setX(0); + if (dirtyRect.y() < 0) + dirtyRect.setY(0); SIZE size = {r.width(), r.height()}; POINT ptDst = {r.x(), r.y()}; POINT ptSrc = {0, 0}; -- 1.9.4.msysgit.0