aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@digia.com>2013-02-20 19:39:11 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-21 08:23:37 +0100
commitcf53bf9ae6716613c120cc4a0202c69bd59eba1e (patch)
treec8d24a705913bd0c79ca51f807d0b49845cb975f /src
parent8c8404f8153508106f65efb43110ba85c05e73bc (diff)
Make sure exposeEvents trigger a render pass
We needs this on non-compositing window managers to trigger repaints on partial updates. Change-Id: Ied5f3e854173c5e00ad7e1222aeb66eb9c96158c Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/quick/scenegraph/qsgrenderloop.cpp4
-rw-r--r--src/quick/scenegraph/qsgthreadedrenderloop.cpp2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp
index 83e8d3f17a..85ef549397 100644
--- a/src/quick/scenegraph/qsgrenderloop.cpp
+++ b/src/quick/scenegraph/qsgrenderloop.cpp
@@ -305,8 +305,10 @@ void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
void QSGGuiThreadRenderLoop::exposureChanged(QQuickWindow *window)
{
- if (window->isExposed())
+ if (window->isExposed()) {
+ m_windows[window].updatePending = true;
renderWindow(window);
+ }
}
QImage QSGGuiThreadRenderLoop::grab(QQuickWindow *window)
diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
index eebcad72d7..fb26f543c3 100644
--- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
+++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
@@ -372,6 +372,8 @@ bool QSGRenderThread::event(QEvent *e)
RLDEBUG1(" Render: WM_Expose");
WMExposeEvent *se = static_cast<WMExposeEvent *>(e);
+ pendingUpdate |= RepaintRequest;
+
if (windowFor(m_windows, se->window)) {
RLDEBUG1(" Render: - window already added...");
return true;