diff options
author | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2014-10-30 14:00:43 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2014-10-30 14:51:11 +0200 |
commit | 2d61b8f27a74168ca06a32c4d2f077af2cbc7b88 (patch) | |
tree | c8b66e6bf32c53fbbe4bbd34c7e55206bc85d963 /src/datavisualization | |
parent | 20d1d25119e67724ac8fcb0a69451cd8c1fb984c (diff) |
Use QOffscreenSurface instead of QWindow for dummy surfaces.
Android doesn't like creating extra QWindows, so changed
dummy surfaces used to do static initialization and cleanup
to use QOffscreenSurface.
Change-Id: Ia42e288a05ef49524252c457f3a3494677e3fc63
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
Diffstat (limited to 'src/datavisualization')
-rw-r--r-- | src/datavisualization/engine/abstract3drenderer.cpp | 5 | ||||
-rw-r--r-- | src/datavisualization/engine/abstract3drenderer_p.h | 4 | ||||
-rw-r--r-- | src/datavisualization/utils/utils.cpp | 7 |
3 files changed, 7 insertions, 9 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index cfc691af..fc3b4a19 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -28,7 +28,7 @@ #include "scatter3drenderer_p.h" #include <QtCore/qmath.h> -#include <QtGui/QWindow> +#include <QtGui/QOffscreenSurface> #include <QtCore/QThread> QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -1789,8 +1789,7 @@ void Abstract3DRenderer::fixContextBeforeDelete() // Otherwise we expect it to be our shared context, so we can use it for cleanup. if (!QOpenGLContext::currentContext() && !m_context.isNull() && QThread::currentThread() == this->thread()) { - m_dummySurfaceAtDelete = new QWindow(); - m_dummySurfaceAtDelete->setSurfaceType(QWindow::OpenGLSurface); + m_dummySurfaceAtDelete = new QOffscreenSurface(); m_dummySurfaceAtDelete->setFormat(m_context->format()); m_dummySurfaceAtDelete->create(); diff --git a/src/datavisualization/engine/abstract3drenderer_p.h b/src/datavisualization/engine/abstract3drenderer_p.h index 1e38023d..15793797 100644 --- a/src/datavisualization/engine/abstract3drenderer_p.h +++ b/src/datavisualization/engine/abstract3drenderer_p.h @@ -39,7 +39,7 @@ #include "seriesrendercache_p.h" #include "customrenderitem_p.h" -class QSurface; +class QOffscreenSurface; QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -327,7 +327,7 @@ protected: QOpenGLFunctions_2_1 *m_funcs_2_1; // Not owned #endif QPointer<QOpenGLContext> m_context; // Not owned - QWindow *m_dummySurfaceAtDelete; + QOffscreenSurface *m_dummySurfaceAtDelete; bool m_isOpenGLES; private: diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index 685e0707..15ef444c 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -21,7 +21,7 @@ #include <QtGui/QPainter> #include <QtGui/QOpenGLContext> -#include <QtGui/QWindow> +#include <QtGui/QOffscreenSurface> QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -327,11 +327,10 @@ bool Utils::isOpenGLES() void Utils::resolveStatics() { QOpenGLContext *ctx = QOpenGLContext::currentContext(); - QWindow *dummySurface = 0; + QOffscreenSurface *dummySurface = 0; if (!ctx) { QSurfaceFormat surfaceFormat = qDefaultSurfaceFormat(); - dummySurface = new QWindow(); - dummySurface->setSurfaceType(QWindow::OpenGLSurface); + dummySurface = new QOffscreenSurface(); dummySurface->setFormat(surfaceFormat); dummySurface->create(); ctx = new QOpenGLContext; |