diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 8 |
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()); } } |