From 263f8a781050512382909c5173373a4ced21ae60 Mon Sep 17 00:00:00 2001 From: Heikkinen Miikka Date: Wed, 4 Sep 2013 14:48:34 +0300 Subject: Fixed various issues +Valgrind reported memory leaks +Linux build warnings +Bartest ui layout more friendly for smaller screen Change-Id: I9773e374ccf8bd6be877cb9be599b50556f04d9d Reviewed-by: Mika Salmela --- examples/qmlscatter/qmlscatter.qrc | 2 +- examples/rainfall/main.cpp | 12 +++---- examples/rainfall/variantbardataproxy.cpp | 1 + examples/rainfall/variantbardataproxy.h | 2 -- src/datavis3d/engine/abstract3dcontroller.cpp | 2 +- src/datavis3d/engine/abstract3drenderer.cpp | 2 +- src/datavis3d/engine/bars3drenderer.cpp | 3 ++ src/datavis3d/engine/drawer.cpp | 1 + src/datavis3d/engine/surface3drenderer.cpp | 6 ++-- tests/barstest/main.cpp | 45 ++++++++++++++------------- 10 files changed, 41 insertions(+), 35 deletions(-) diff --git a/examples/qmlscatter/qmlscatter.qrc b/examples/qmlscatter/qmlscatter.qrc index 61f0f4fe..365dec1f 100644 --- a/examples/qmlscatter/qmlscatter.qrc +++ b/examples/qmlscatter/qmlscatter.qrc @@ -1,7 +1,7 @@ qml/qmlscatter/main.qml - qml/qmlscatter/Button.qml qml/qmlscatter/data.qml + qml/qmlscatter/button.qml diff --git a/examples/rainfall/main.cpp b/examples/rainfall/main.cpp index 2b9b2861..a4e316be 100644 --- a/examples/rainfall/main.cpp +++ b/examples/rainfall/main.cpp @@ -25,13 +25,13 @@ int main(int argc, char **argv) { QGuiApplication app(argc, argv); - Q3DBars rainfall; - rainfall.resize(1280, 800); - rainfall.setPosition(QPoint(10, 30)); - rainfall.show(); + Q3DBars *rainfall = new Q3DBars; + rainfall->resize(1280, 800); + rainfall->setPosition(QPoint(10, 30)); + rainfall->show(); - RainfallChart *rainfallchart = new RainfallChart(&rainfall); - rainfallchart->start(); + RainfallChart rainfallchart(rainfall); + rainfallchart.start(); return app.exec(); } diff --git a/examples/rainfall/variantbardataproxy.cpp b/examples/rainfall/variantbardataproxy.cpp index bacab501..b01c7616 100644 --- a/examples/rainfall/variantbardataproxy.cpp +++ b/examples/rainfall/variantbardataproxy.cpp @@ -35,6 +35,7 @@ VariantBarDataProxy::VariantBarDataProxy(VariantDataSet *newSet, VariantBarDataProxy::~VariantBarDataProxy() { + delete m_dataSet; } void VariantBarDataProxy::setDataSet(VariantDataSet *newSet) diff --git a/examples/rainfall/variantbardataproxy.h b/examples/rainfall/variantbardataproxy.h index 2c80c0b1..acef9999 100644 --- a/examples/rainfall/variantbardataproxy.h +++ b/examples/rainfall/variantbardataproxy.h @@ -59,8 +59,6 @@ private: QPointer m_mapping; Q_DISABLE_COPY(VariantBarDataProxy) - - friend class VariantBarDataProxy; }; #endif diff --git a/src/datavis3d/engine/abstract3dcontroller.cpp b/src/datavis3d/engine/abstract3dcontroller.cpp index 23781624..cb50faf5 100644 --- a/src/datavis3d/engine/abstract3dcontroller.cpp +++ b/src/datavis3d/engine/abstract3dcontroller.cpp @@ -67,7 +67,7 @@ Abstract3DController::Abstract3DController(QRect boundRect, QObject *parent) : Abstract3DController::~Abstract3DController() { delete m_cameraHelper; - + delete m_inputHandler; // Attached axes are children, so no need to explicitly delete them } diff --git a/src/datavis3d/engine/abstract3drenderer.cpp b/src/datavis3d/engine/abstract3drenderer.cpp index fe0f10c4..c53adea0 100644 --- a/src/datavis3d/engine/abstract3drenderer.cpp +++ b/src/datavis3d/engine/abstract3drenderer.cpp @@ -294,7 +294,7 @@ AxisRenderCache &Abstract3DRenderer::axisCacheForOrientation(Q3DAbstractAxis::Ax case Q3DAbstractAxis::AxisOrientationZ: return m_axisCacheZ; default: - qFatal(__FUNCTION__); + qFatal("Abstract3DRenderer::axisCacheForOrientation"); return m_axisCacheX; } } diff --git a/src/datavis3d/engine/bars3drenderer.cpp b/src/datavis3d/engine/bars3drenderer.cpp index 34fbcdec..260b36a2 100644 --- a/src/datavis3d/engine/bars3drenderer.cpp +++ b/src/datavis3d/engine/bars3drenderer.cpp @@ -50,6 +50,7 @@ static QVector3D selectionSkipColor = QVector3D(255, 255, 255); // Selection tex Bars3DRenderer::Bars3DRenderer(Bars3DController *controller) : Abstract3DRenderer(controller), m_controller(controller), + m_cachedIsSlicingActivated(false), m_selectedBar(0), m_sliceSelection(0), m_sliceCache(0), @@ -110,6 +111,8 @@ Bars3DRenderer::~Bars3DRenderer() delete m_barObj; delete m_backgroundObj; delete m_gridLineObj; + delete m_labelObj; + delete m_labelShader; } void Bars3DRenderer::initializeOpenGL() diff --git a/src/datavis3d/engine/drawer.cpp b/src/datavis3d/engine/drawer.cpp index 9ea958ba..6f2941d6 100644 --- a/src/datavis3d/engine/drawer.cpp +++ b/src/datavis3d/engine/drawer.cpp @@ -51,6 +51,7 @@ Drawer::Drawer(const Theme &theme, const QFont &font, QDataVis::LabelTransparenc Drawer::~Drawer() { + delete m_textureHelper; } void Drawer::initializeOpenGL() diff --git a/src/datavis3d/engine/surface3drenderer.cpp b/src/datavis3d/engine/surface3drenderer.cpp index 49a3df61..c8b15309 100644 --- a/src/datavis3d/engine/surface3drenderer.cpp +++ b/src/datavis3d/engine/surface3drenderer.cpp @@ -50,10 +50,10 @@ const GLfloat coordSpace = 2.0f; // From -1.0 to 1.0 Surface3DRenderer::Surface3DRenderer(Surface3DController *controller) : Abstract3DRenderer(controller), m_controller(controller), - m_isGridEnabled(true), - m_shadowQuality(QDataVis::ShadowLow), m_labelTransparency(QDataVis::TransparencyFromTheme), m_font(QFont(QStringLiteral("Arial"))), + m_isGridEnabled(true), + m_shadowQuality(QDataVis::ShadowLow), m_segmentYCount(0), m_segmentYStep(0.0f), m_segmentXCount(0), @@ -75,8 +75,8 @@ Surface3DRenderer::Surface3DRenderer(Surface3DController *controller) m_maxSceneSize(40.0), m_backgroundObj(0), m_gridLineObj(0), - m_surfaceObj(0), m_labelObj(0), + m_surfaceObj(0), m_depthTexture(0), m_depthFrameBuffer(0), m_selectionFrameBuffer(0), diff --git a/tests/barstest/main.cpp b/tests/barstest/main.cpp index 98d2dbbd..a59f1de1 100644 --- a/tests/barstest/main.cpp +++ b/tests/barstest/main.cpp @@ -37,6 +37,7 @@ int main(int argc, char **argv) QWidget *widget = new QWidget; QHBoxLayout *hLayout = new QHBoxLayout(widget); QVBoxLayout *vLayout = new QVBoxLayout(); + QVBoxLayout *vLayout2 = new QVBoxLayout(); Q3DBars *widgetchart = new Q3DBars(); QSize screenSize = widgetchart->screen()->size(); @@ -51,6 +52,7 @@ int main(int argc, char **argv) hLayout->addWidget(container, 1); hLayout->addLayout(vLayout); + hLayout->addLayout(vLayout2); QPushButton *dataButton = new QPushButton(widget); dataButton->setText(QStringLiteral("Insert a row of data")); @@ -186,18 +188,6 @@ int main(int argc, char **argv) shadowQuality->addItem(QStringLiteral("High Soft")); shadowQuality->setCurrentIndex(5); - vLayout->addWidget(staticCheckBox, 0, Qt::AlignTop); - vLayout->addWidget(rotationCheckBox, 0, Qt::AlignTop); - vLayout->addWidget(rotationSliderX, 0, Qt::AlignTop); - vLayout->addWidget(rotationSliderY, 0, Qt::AlignTop); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust relative bar size"))); - vLayout->addWidget(ratioSlider, 0, Qt::AlignTop); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust relative bar spacing"))); - vLayout->addWidget(spacingSliderX, 0, Qt::AlignTop); - vLayout->addWidget(spacingSliderZ, 0, Qt::AlignTop); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust sample count"))); - vLayout->addWidget(sampleSliderX, 0, Qt::AlignTop); - vLayout->addWidget(sampleSliderZ, 1, Qt::AlignTop); vLayout->addWidget(dataButton, 0, Qt::AlignTop); vLayout->addWidget(multiDataButton, 0, Qt::AlignTop); vLayout->addWidget(changeSingleDataButton, 0, Qt::AlignTop); @@ -213,15 +203,28 @@ int main(int argc, char **argv) vLayout->addWidget(setSelectedBarButton, 0, Qt::AlignTop); vLayout->addWidget(swapAxisButton, 0, Qt::AlignTop); vLayout->addWidget(releaseAxesButton, 0, Qt::AlignTop); - vLayout->addWidget(releaseProxiesButton, 0, Qt::AlignTop); - vLayout->addWidget(backgroundCheckBox); - vLayout->addWidget(gridCheckBox); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality"))); - vLayout->addWidget(shadowQuality); - vLayout->addWidget(new QLabel(QStringLiteral("Change font"))); - vLayout->addWidget(fontList); - vLayout->addWidget(new QLabel(QStringLiteral("Adjust font size"))); - vLayout->addWidget(fontSizeSlider, 0, Qt::AlignTop); + vLayout->addWidget(releaseProxiesButton, 1, Qt::AlignTop); + + vLayout2->addWidget(staticCheckBox, 0, Qt::AlignTop); + vLayout2->addWidget(rotationCheckBox, 0, Qt::AlignTop); + vLayout2->addWidget(rotationSliderX, 0, Qt::AlignTop); + vLayout2->addWidget(rotationSliderY, 0, Qt::AlignTop); + vLayout2->addWidget(new QLabel(QStringLiteral("Adjust relative bar size")), 0, Qt::AlignTop); + vLayout2->addWidget(ratioSlider, 0, Qt::AlignTop); + vLayout2->addWidget(new QLabel(QStringLiteral("Adjust relative bar spacing")), 0, Qt::AlignTop); + vLayout2->addWidget(spacingSliderX, 0, Qt::AlignTop); + vLayout2->addWidget(spacingSliderZ, 0, Qt::AlignTop); + vLayout2->addWidget(new QLabel(QStringLiteral("Adjust sample count")), 0, Qt::AlignTop); + vLayout2->addWidget(sampleSliderX, 0, Qt::AlignTop); + vLayout2->addWidget(sampleSliderZ, 0, Qt::AlignTop); + vLayout2->addWidget(backgroundCheckBox, 0, Qt::AlignTop); + vLayout2->addWidget(gridCheckBox, 0, Qt::AlignTop); + vLayout2->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")), 0, Qt::AlignTop); + vLayout2->addWidget(shadowQuality, 0, Qt::AlignTop); + vLayout2->addWidget(new QLabel(QStringLiteral("Change font")), 0, Qt::AlignTop); + vLayout2->addWidget(fontList, 0, Qt::AlignTop); + vLayout2->addWidget(new QLabel(QStringLiteral("Adjust font size")), 0, Qt::AlignTop); + vLayout2->addWidget(fontSizeSlider, 1, Qt::AlignTop); // TODO: Add example for setMeshFileName widget->show(); -- cgit v1.2.3