diff options
author | Liang Qi <liang.qi@qt.io> | 2016-08-30 06:56:05 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-08-30 06:56:12 +0200 |
commit | bf26aa9d15e525fdcf6fd3f59268418533f06790 (patch) | |
tree | e1a12cc49f338bd1ac419a4d774d6f4570df3e40 /src/charts/areachart/qareaseries.cpp | |
parent | d352d707f95c3c4e213585361a3ec737389e301e (diff) | |
parent | 8ed3130583510feba58e6f289d1c7b5d051a6663 (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: Ibf7679696d7b659621cf511fd5e1d5eda244a810
Diffstat (limited to 'src/charts/areachart/qareaseries.cpp')
-rw-r--r-- | src/charts/areachart/qareaseries.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/charts/areachart/qareaseries.cpp b/src/charts/areachart/qareaseries.cpp index ebff7f0f..739efd71 100644 --- a/src/charts/areachart/qareaseries.cpp +++ b/src/charts/areachart/qareaseries.cpp @@ -406,13 +406,18 @@ QAbstractSeries::SeriesType QAreaSeries::type() const /*! Sets the \a series that is to be used as the area chart upper series. + If the upper series is null, the area chart is not drawn, even if it has a lower series. */ void QAreaSeries::setUpperSeries(QLineSeries *series) { Q_D(QAreaSeries); + if (d->m_upperSeries != series) { - series->d_ptr->setBlockOpenGL(true); + if (series) + series->d_ptr->setBlockOpenGL(true); d->m_upperSeries = series; + if (!d->m_item.isNull()) + static_cast<AreaChartItem *>(d->m_item.data())->setUpperSeries(series); } } @@ -428,8 +433,13 @@ QLineSeries *QAreaSeries::upperSeries() const void QAreaSeries::setLowerSeries(QLineSeries *series) { Q_D(QAreaSeries); - series->d_ptr->setBlockOpenGL(true); - d->m_lowerSeries = series; + if (d->m_lowerSeries != series) { + if (series) + series->d_ptr->setBlockOpenGL(true); + d->m_lowerSeries = series; + if (!d->m_item.isNull()) + static_cast<AreaChartItem *>(d->m_item.data())->setLowerSeries(series); + } } QLineSeries *QAreaSeries::lowerSeries() const |