summaryrefslogtreecommitdiffstats
path: root/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp')
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index f33e820..27ec668 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -262,7 +262,11 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect)
if (oldSurface != dfbSurface)
updateFormat();
- QWSWindowSurface::setGeometry(rect);
+ if (oldRect.size() != rect.size()) {
+ QWSWindowSurface::setGeometry(rect);
+ } else {
+ QWindowSurface::setGeometry(rect);
+ }
}
QByteArray QDirectFBWindowSurface::permanentState() const
@@ -276,6 +280,8 @@ void QDirectFBWindowSurface::setPermanentState(const QByteArray &state)
{
if (state.size() == sizeof(this)) {
sibling = *reinterpret_cast<QDirectFBWindowSurface *const*>(state.constData());
+ Q_ASSERT(sibling);
+ sibling->setSurfaceFlags(surfaceFlags());
}
}