QPA: update backingstore also when moving QWindows

When moving QMdiSubWindows that contains native widgets (e.g QGLWidget)
inside a QMdiArea, garbage is drawn to the screen. The reason is
that since we use native QWindow backed widgets, QPA will assume
that it does not need to update/scroll the backingstore. But since the
backingstore can be shared among several windows, we need to do this to
ensure that exposed areas behind the moved QWindow will be updated.

Change-Id: I35f4d4069a73ab6cd6d610e25c176c752789a927
Task-number: QTBUG-26162
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
This commit is contained in:
Richard Moe Gustavsen 2012-11-30 12:39:23 +01:00 committed by The Qt Project
parent 27a945dccd
commit 1cce35472a

View File

@ -737,7 +737,9 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
if (needsShow) if (needsShow)
show_sys(); show_sys();
} else { }
if (!q->isWindow()) {
if (isMove && !isResize) if (isMove && !isResize)
moveRect(QRect(oldPos, olds), x - oldPos.x(), y - oldPos.y()); moveRect(QRect(oldPos, olds), x - oldPos.x(), y - oldPos.y());
else else