diff options
author | Keränen Pasi <pasi.keranen@digia.com> | 2013-06-27 14:49:45 +0300 |
---|---|---|
committer | Pasi Keränen <pasi.keranen@digia.com> | 2013-06-27 14:53:05 +0300 |
commit | f676523970ec8202760530588daf1ea6d212120c (patch) | |
tree | cdb3468bf79916aaf3250841aeb2f888b28619c5 /src | |
parent | 38390b3859cfa4b9982dd637627b167e4e60f801 (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.cpp | 2 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dbars.cpp | 11 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dbars.h | 1 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dwindow.cpp | 29 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dwindow.h | 1 |
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); |