From 642e3fb0d91cca401ebba0221f46bc32fccc1e74 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 13 Dec 2013 13:35:42 +0200 Subject: Fix more valgrind issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + some misc fixes Change-Id: I728da6779bea026d0554d8aae5c00254c3c27694 Reviewed-by: Mika Salmela Reviewed-by: Pasi Keränen --- examples/custominput/scatterdatamodifier.cpp | 10 +++++----- examples/qmlscatter/qml/qmlscatter/main.qml | 2 +- examples/qmlsurface/qml/qmlsurface/main.qml | 2 +- src/datavisualization/data/qabstract3dseries.cpp | 1 + src/datavisualization/engine/abstract3dcontroller.cpp | 1 + src/datavisualization/engine/abstract3drenderer.cpp | 1 + src/datavisualization/engine/bars3drenderer.cpp | 2 +- src/datavisualization/engine/surface3drenderer.cpp | 9 ++++++--- src/datavisualization/utils/utils.cpp | 6 ++---- tests/multigraphs/data.cpp | 3 ++- tests/spectrum/spectrumapp/main.cpp | 3 +-- 11 files changed, 22 insertions(+), 18 deletions(-) diff --git a/examples/custominput/scatterdatamodifier.cpp b/examples/custominput/scatterdatamodifier.cpp index 8e008911..aabb1b3a 100644 --- a/examples/custominput/scatterdatamodifier.cpp +++ b/examples/custominput/scatterdatamodifier.cpp @@ -105,7 +105,7 @@ void ScatterDataModifier::start() void ScatterDataModifier::addData() { - QVector *itemList = new QVector(); + QVector itemList; // Read data items from the file to QVector QTextStream stream; @@ -122,7 +122,7 @@ void ScatterDataModifier::addData() qWarning() << "Invalid row read from data:" << line; continue; } - itemList->append(QVector3D( + itemList.append(QVector3D( strList.at(0).trimmed().toFloat(), strList.at(1).trimmed().toFloat(), strList.at(2).trimmed().toFloat())); @@ -133,10 +133,10 @@ void ScatterDataModifier::addData() // Add data from the QVector to datamodel QScatterDataArray *dataArray = new QScatterDataArray; - dataArray->resize(itemList->count()); + dataArray->resize(itemList.count()); QScatterDataItem *ptrToDataArray = &dataArray->first(); - for (int i = 0; i < itemList->count(); i++) { - ptrToDataArray->setPosition(itemList->at(i)); + for (int i = 0; i < itemList.count(); i++) { + ptrToDataArray->setPosition(itemList.at(i)); ptrToDataArray++; } diff --git a/examples/qmlscatter/qml/qmlscatter/main.qml b/examples/qmlscatter/qml/qmlscatter/main.qml index 338bec24..22eab76b 100644 --- a/examples/qmlscatter/qml/qmlscatter/main.qml +++ b/examples/qmlscatter/qml/qmlscatter/main.qml @@ -155,7 +155,7 @@ Item { id: smoothToggle Layout.fillHeight: true Layout.fillWidth: true - text: "Use Smooth Dots" + text: "Use Smooth for Series One" onClicked: { if (scatterSeries.meshSmooth === false) { text = "Use Flat for Series One"; diff --git a/examples/qmlsurface/qml/qmlsurface/main.qml b/examples/qmlsurface/qml/qmlsurface/main.qml index efec0b24..07a07891 100644 --- a/examples/qmlsurface/qml/qmlsurface/main.qml +++ b/examples/qmlsurface/qml/qmlsurface/main.qml @@ -227,7 +227,7 @@ Item { Layout.maximumWidth: buttonMaximumWidth Layout.fillWidth: true Layout.minimumHeight: buttonMinimumHeight - text: "Switch to Item Model Series" + text: "Switch to Height Map Series" //! [3] onClicked: { if (surfaceplot.seriesList[0] === heightSeries) { diff --git a/src/datavisualization/data/qabstract3dseries.cpp b/src/datavisualization/data/qabstract3dseries.cpp index 2c869574..73625328 100644 --- a/src/datavisualization/data/qabstract3dseries.cpp +++ b/src/datavisualization/data/qabstract3dseries.cpp @@ -503,6 +503,7 @@ QAbstract3DSeriesPrivate::QAbstract3DSeriesPrivate(QAbstract3DSeries *q, QAbstra QAbstract3DSeriesPrivate::~QAbstract3DSeriesPrivate() { + delete m_dataProxy; } QAbstractDataProxy *QAbstract3DSeriesPrivate::dataProxy() const diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 09fa8510..f2483216 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -80,6 +80,7 @@ Abstract3DController::~Abstract3DController() else delete m_renderer; delete m_scene; + delete m_themeManager; } /** diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 1b436b87..f250fe40 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -65,6 +65,7 @@ Abstract3DRenderer::~Abstract3DRenderer() delete m_drawer; delete m_textureHelper; delete m_cachedScene; + delete m_cachedTheme; } void Abstract3DRenderer::initializeOpenGL() diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 38e384ad..fec4a7d6 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -302,7 +302,7 @@ void Bars3DRenderer::drawSlicedScene() // Set up projection matrix QMatrix4x4 projectionMatrix; projectionMatrix.perspective(40.0f, (GLfloat)m_sliceViewPort.width() - / (GLfloat)m_sliceViewPort.height(), 0.1f, 10.0f); + / (GLfloat)m_sliceViewPort.height(), 0.1f, 100.0f); // Set view matrix QMatrix4x4 viewMatrix; diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 43815d39..bbd50d4e 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -290,8 +290,11 @@ void Surface3DRenderer::updateSeries(const QList &seriesLis QVector3D seriesColor = Utils::vectorFromColor(series->baseColor()); if (m_uniformGradientTextureColor != seriesColor) generateUniformGradient(seriesColor); - if (m_selectionPointer) + if (m_selectionPointer) { m_selectionPointer->setHighlightColor(Utils::vectorFromColor(series->singleHighlightColor())); + // Make sure selection pointer object reference is still good + m_selectionPointer->setPointerObject(m_visibleSeriesList.at(0).object()); + } } } @@ -996,7 +999,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_selectionShader->bind(); glBindFramebuffer(GL_FRAMEBUFFER, m_selectionFrameBuffer); glEnable(GL_DEPTH_TEST); // Needed, otherwise the depth render buffer is not used - glClearColor(0, 0, 0, 0); + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Needed for clearing the frame buffer glDisable(GL_DITHER); // disable dithering, it may affect colors if enabled @@ -1016,7 +1019,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) glEnable(GL_DITHER); - GLubyte pixel[4] = {0}; + GLubyte pixel[4] = {0, 0, 0, 0}; glReadPixels(m_inputPosition.x(), m_cachedBoundingRect.height() - m_inputPosition.y(), 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, (void *)pixel); diff --git a/src/datavisualization/utils/utils.cpp b/src/datavisualization/utils/utils.cpp index 1ec5fc05..e6f33032 100644 --- a/src/datavisualization/utils/utils.cpp +++ b/src/datavisualization/utils/utils.cpp @@ -131,12 +131,10 @@ QImage Utils::printTextToImage(const QFont &font, const QString &text, const QCo QVector3D Utils::getSelection(QPoint mousepos, int height) { - QVector3D selectedColor; - //#if defined(QT_OPENGL_ES_2) // This is the only one that works with ANGLE (ES 2.0) // Item count will be limited to 256*256*256 - GLubyte pixel[4]; + GLubyte pixel[4] = {255, 255, 255, 0}; glReadPixels(mousepos.x(), height - mousepos.y(), 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, (void *)pixel); @@ -155,7 +153,7 @@ QVector3D Utils::getSelection(QPoint mousepos, int height) // GL_RGB, GL_FLOAT, (void *)pixel3); //qDebug() << "rgba" << pixel3[0] << pixel3[1] << pixel3[2];// << pixel[3]; //#endif - selectedColor = QVector3D(pixel[0], pixel[1], pixel[2]); + QVector3D selectedColor(pixel[0], pixel[1], pixel[2]); //qDebug() << selectedColor; return selectedColor; diff --git a/tests/multigraphs/data.cpp b/tests/multigraphs/data.cpp index 00747695..99354caf 100644 --- a/tests/multigraphs/data.cpp +++ b/tests/multigraphs/data.cpp @@ -57,7 +57,7 @@ Data::Data(Q3DSurface *surface, Q3DScatter *scatter, Q3DBars *bars, m_surface->scene()->activeCamera()->setCameraPosition(0.0, 90.0, 150); QSurface3DSeries *series1 = new QSurface3DSeries(new QHeightMapSurfaceDataProxy()); series1->setFlatShadingEnabled(true); - series1->setSurfaceGridEnabled(false); + series1->setDrawMode(QSurface3DSeries::DrawSurface); series1->setColorStyle(Q3DTheme::ColorStyleRangeGradient); series1->setBaseGradient(gradient); m_surface->addSeries(series1); @@ -104,6 +104,7 @@ Data::~Data() delete m_scatter; } delete m_widget; + delete m_scatterDataArray; // only portion of this array is set to graph } void Data::updateData() diff --git a/tests/spectrum/spectrumapp/main.cpp b/tests/spectrum/spectrumapp/main.cpp index 65c658d8..de209cc7 100644 --- a/tests/spectrum/spectrumapp/main.cpp +++ b/tests/spectrum/spectrumapp/main.cpp @@ -97,8 +97,6 @@ MainApp::MainApp(Q3DBars *window) // Adjust camera position m_chart->scene()->activeCamera()->setCameraPosition(10.0f, 7.5f, 75.0f); #endif - // Set color scheme - m_chart->setBarColor(QColor(Qt::red)); // Disable selection m_chart->setSelectionMode(QDataVis::SelectionNone); QObject::connect(m_engine, &Engine::changedSpectrum, this, &MainApp::spectrumChanged); @@ -107,6 +105,7 @@ MainApp::MainApp(Q3DBars *window) QObject::connect(m_restartTimer, &QTimer::timeout, this, &MainApp::restart); QBar3DSeries *series = new QBar3DSeries(); + series->setBaseColor(QColor(Qt::red)); series->setMesh(QAbstract3DSeries::MeshBar); m_chart->addSeries(series); } -- cgit v1.2.3