summaryrefslogtreecommitdiffstats
path: root/src/datavisualization
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2014-10-30 14:00:43 +0200
committerMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2014-10-30 14:51:11 +0200
commit2d61b8f27a74168ca06a32c4d2f077af2cbc7b88 (patch)
treec8b66e6bf32c53fbbe4bbd34c7e55206bc85d963 /src/datavisualization
parent20d1d25119e67724ac8fcb0a69451cd8c1fb984c (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.cpp5
-rw-r--r--src/datavisualization/engine/abstract3drenderer_p.h4
-rw-r--r--src/datavisualization/utils/utils.cpp7
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;