summaryrefslogtreecommitdiffstats
path: root/src/chartsqml2/declarativechartnode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/chartsqml2/declarativechartnode.cpp')
-rw-r--r--src/chartsqml2/declarativechartnode.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/chartsqml2/declarativechartnode.cpp b/src/chartsqml2/declarativechartnode.cpp
index de0eb3c6..3742b8c5 100644
--- a/src/chartsqml2/declarativechartnode.cpp
+++ b/src/chartsqml2/declarativechartnode.cpp
@@ -47,27 +47,27 @@ DeclarativeChartNode::DeclarativeChartNode(QQuickWindow *window) :
m_textureSize(1, 1),
m_glRenderNode(0)
{
- initializeOpenGLFunctions();
-
// Our texture node must have a texture, so use a default one pixel texture
- GLuint defaultTexture = 0;
- glGenTextures(1, &defaultTexture);
- glBindTexture(GL_TEXTURE_2D, defaultTexture);
- uchar buf[4] = { 0, 0, 0, 0 };
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, &buf);
-
+ QImage dummyImage(QSize(1, 1), QImage::Format_ARGB32);
+ uchar *imageData = dummyImage.bits();
+ imageData[0] = 0;
+ imageData[1] = 0;
+ imageData[2] = 0;
+ imageData[3] = 0;
QQuickWindow::CreateTextureOptions defaultTextureOptions = QQuickWindow::CreateTextureOptions(
QQuickWindow::TextureHasAlphaChannel | QQuickWindow::TextureOwnsGLTexture);
- m_texture = m_window->createTextureFromId(defaultTexture, QSize(1, 1), defaultTextureOptions);
+ m_texture = m_window->createTextureFromImage(dummyImage, defaultTextureOptions);
setTexture(m_texture);
setFiltering(QSGTexture::Linear);
- // Create child node for rendering GL graphics
- m_glRenderNode = new DeclarativeRenderNode(m_window);
- m_glRenderNode->setFlag(OwnedByParent);
- appendChildNode(m_glRenderNode);
- m_glRenderNode->setRect(0, 0, 0, 0); // Hide child node by default
+ if (QOpenGLContext::currentContext()) {
+ // Create child node for rendering GL graphics
+ m_glRenderNode = new DeclarativeRenderNode(m_window);
+ m_glRenderNode->setFlag(OwnedByParent);
+ appendChildNode(m_glRenderNode);
+ m_glRenderNode->setRect(0, 0, 0, 0); // Hide child node by default
+ }
}
DeclarativeChartNode::~DeclarativeChartNode()