summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKeränen Pasi <pasi.keranen@digia.com>2013-06-27 14:49:45 +0300
committerPasi Keränen <pasi.keranen@digia.com>2013-06-27 14:53:05 +0300
commitf676523970ec8202760530588daf1ea6d212120c (patch)
treecdb3468bf79916aaf3250841aeb2f888b28619c5 /src
parent38390b3859cfa4b9982dd637627b167e4e60f801 (diff)
Fixes to Bars 3D widget example crash on start.
Change-Id: Icd42a2397f5d48f3d315e2f9574741f41ceb7834 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/datavis3d/engine/bars3drenderer.cpp2
-rw-r--r--src/datavis3d/engine/q3dbars.cpp11
-rw-r--r--src/datavis3d/engine/q3dbars.h1
-rw-r--r--src/datavis3d/engine/q3dwindow.cpp29
-rw-r--r--src/datavis3d/engine/q3dwindow.h1
5 files changed, 10 insertions, 34 deletions
diff --git a/src/datavis3d/engine/bars3drenderer.cpp b/src/datavis3d/engine/bars3drenderer.cpp
index 23bdc32c..1c970fe1 100644
--- a/src/datavis3d/engine/bars3drenderer.cpp
+++ b/src/datavis3d/engine/bars3drenderer.cpp
@@ -1525,6 +1525,8 @@ void Bars3dRenderer::inspectSelectionAtPoint(const QPoint &point)
void Bars3dRenderer::handleResize()
{
+ if (width() == 0 || height() == 0)
+ return;
qDebug() << "Bars3dRenderer::resizeEvent " << width() << "x" <<height();
// Set view port
diff --git a/src/datavis3d/engine/q3dbars.cpp b/src/datavis3d/engine/q3dbars.cpp
index 05e1f0bd..1ae9b31c 100644
--- a/src/datavis3d/engine/q3dbars.cpp
+++ b/src/datavis3d/engine/q3dbars.cpp
@@ -104,6 +104,7 @@ QT_DATAVIS3D_BEGIN_NAMESPACE
Q3DBars::Q3DBars()
: d_ptr(new Q3DBarsPrivate(this, geometry()))
{
+ d_ptr->m_shared->initializeOpenGL();
}
/*!
@@ -116,16 +117,6 @@ Q3DBars::~Q3DBars()
/*!
* \internal
*/
-void Q3DBars::initialize()
-{
- d_ptr->m_shared->setWidth(width());
- d_ptr->m_shared->setHeight(height());
- d_ptr->m_shared->initializeOpenGL();
-}
-
-/*!
- * \internal
- */
void Q3DBars::render()
{
d_ptr->m_shared->render();
diff --git a/src/datavis3d/engine/q3dbars.h b/src/datavis3d/engine/q3dbars.h
index eba49cc5..9fb5cd41 100644
--- a/src/datavis3d/engine/q3dbars.h
+++ b/src/datavis3d/engine/q3dbars.h
@@ -178,7 +178,6 @@ public:
ShadowQuality shadowQuality();
protected:
- void initialize();
void render();
#if defined(Q_OS_ANDROID)
diff --git a/src/datavis3d/engine/q3dwindow.cpp b/src/datavis3d/engine/q3dwindow.cpp
index 0cd5e515..e02a954a 100644
--- a/src/datavis3d/engine/q3dwindow.cpp
+++ b/src/datavis3d/engine/q3dwindow.cpp
@@ -95,21 +95,6 @@ Q3DWindow::Q3DWindow(QWindow *parent)
qDebug() << "initializeOpenGLFunctions()";
initializeOpenGLFunctions();
- initialize();
-}
-
-/*!
- * Destroys Q3DWindow.
- */
-Q3DWindow::~Q3DWindow()
-{
-}
-
-/*!
- * \internal
- */
-void Q3DWindow::initialize()
-{
const GLubyte *version = glGetString(GL_VERSION);
qDebug() << "OpenGL version:" << (const char *)version;
version = glGetString(GL_SHADING_LANGUAGE_VERSION);
@@ -124,6 +109,13 @@ void Q3DWindow::initialize()
}
/*!
+ * Destroys Q3DWindow.
+ */
+Q3DWindow::~Q3DWindow()
+{
+}
+
+/*!
* \internal
*/
void Q3DWindow::render()
@@ -174,17 +166,10 @@ void Q3DWindow::renderNow()
if (!isExposed())
return;
- static bool needsInit = true;
-
d_ptr->m_updatePending = false;
d_ptr->m_context->makeCurrent(this);
- if (needsInit) {
- initialize();
- needsInit = false;
- }
-
render();
d_ptr->m_context->swapBuffers(this);
diff --git a/src/datavis3d/engine/q3dwindow.h b/src/datavis3d/engine/q3dwindow.h
index dd67fd37..1d200731 100644
--- a/src/datavis3d/engine/q3dwindow.h
+++ b/src/datavis3d/engine/q3dwindow.h
@@ -67,7 +67,6 @@ private slots:
protected:
virtual void render();
- virtual void initialize();
void setAnimating(bool animating);
bool event(QEvent *event);