diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/embedded/qwindowsystem_qws.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gui/embedded/qwindowsystem_qws.cpp b/src/gui/embedded/qwindowsystem_qws.cpp index 894cace..487dc73 100644 --- a/src/gui/embedded/qwindowsystem_qws.cpp +++ b/src/gui/embedded/qwindowsystem_qws.cpp @@ -3885,8 +3885,13 @@ void QWSServerPrivate::request_region(int wid, const QString &surfaceKey, const bool wasOpaque = changingw->opaque; - changingw->createSurface(surfaceKey, surfaceData); QWSWindowSurface *surface = changingw->windowSurface(); + if (!surface) { + changingw->createSurface(surfaceKey, surfaceData); + surface = changingw->windowSurface(); + } else { + surface->setPermanentState(surfaceData); + } changingw->opaque = surface->isOpaque(); |