diff options
author | Jerome Pasion <jerome.pasion@digia.com> | 2012-11-02 14:59:56 +0100 |
---|---|---|
committer | Jerome Pasion <jerome.pasion@digia.com> | 2012-11-02 15:02:08 +0100 |
commit | 47c45bb1e487b3823281683c1110d9269f144582 (patch) | |
tree | 4c687d46d9aa7d90f064a25e6c7f0241ae28e16d /src/quick/items/qquickthreadedwindowmanager.cpp | |
parent | 677be9a27770ff48dd771ec4fc1c66139aac4aa8 (diff) | |
parent | 7d94fa8e074ba816751c60bd0ad3c63b3c0b0a27 (diff) |
Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtdeclarative into newdocs
Change-Id: Icced038fbdb309d8928213d3753a27fe5a6b1137
Diffstat (limited to 'src/quick/items/qquickthreadedwindowmanager.cpp')
-rw-r--r-- | src/quick/items/qquickthreadedwindowmanager.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/quick/items/qquickthreadedwindowmanager.cpp b/src/quick/items/qquickthreadedwindowmanager.cpp index 50bd569496..fac4fb034f 100644 --- a/src/quick/items/qquickthreadedwindowmanager.cpp +++ b/src/quick/items/qquickthreadedwindowmanager.cpp @@ -43,6 +43,7 @@ #include "qquickthreadedwindowmanager_p.h" #include <QtCore/QTime> +#include <QtCore/QDebug> #include <QtGui/QOpenGLContext> #include <QtGui/private/qguiapplication_p.h> @@ -396,20 +397,24 @@ void QQuickRenderThreadSingleContextWindowManager::run() WindowData *windowData = it.value(); QQuickWindowPrivate *windowPrivate = QQuickWindowPrivate::get(window); - Q_ASSERT(windowPrivate->isRenderable()); - - gl->makeCurrent(window); + if (windowPrivate->isRenderable()) { + gl->makeCurrent(window); - if (windowData->viewportSize != windowData->windowSize) { + if (windowData->viewportSize != windowData->windowSize) { #ifdef THREAD_DEBUG - printf(" RenderThread: --- window has changed size...\n"); + printf(" RenderThread: --- window has changed size...\n"); #endif - windowData->viewportSize = windowData->windowSize; - windowData->sizeWasChanged = true; - glViewport(0, 0, windowData->viewportSize.width(), windowData->viewportSize.height()); - } + windowData->viewportSize = windowData->windowSize; + windowData->sizeWasChanged = true; + glViewport(0, 0, windowData->viewportSize.width(), windowData->viewportSize.height()); + } - windowPrivate->syncSceneGraph(); + windowPrivate->syncSceneGraph(); + } else { + qWarning().nospace() + << "Non-renderable window " << window + << " (" << window->geometry() << ")."; + } } inSync = false; |