diff options
author | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2016-02-10 11:27:25 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@theqtcompany.com> | 2016-02-10 11:47:24 +0000 |
commit | 672ea1cb191f9d386ce32b96102fe638fcae5fba (patch) | |
tree | 5771d716467997888c4e5bc75d15624dfe08e397 | |
parent | a32ee294602855ed1d1d35c4412aa85ab45c431e (diff) |
Explicitly update GLWidget when we set new points
QOpenGLWidget was modified to not trigger some extra paint calls,
which charts used to rely on, so now we do explicit updates instead.
Change-Id: Ibe06c2f88ac7efe4e61351d582f2eff9d350f073
Task-number: QTBUG-51000
Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
-rw-r--r-- | src/charts/chartpresenter.cpp | 5 | ||||
-rw-r--r-- | src/charts/chartpresenter_p.h | 2 | ||||
-rw-r--r-- | src/charts/xychart/xychart.cpp | 2 |
3 files changed, 6 insertions, 3 deletions
diff --git a/src/charts/chartpresenter.cpp b/src/charts/chartpresenter.cpp index 1676a890..9273a136 100644 --- a/src/charts/chartpresenter.cpp +++ b/src/charts/chartpresenter.cpp @@ -549,7 +549,7 @@ QString ChartPresenter::numberToString(int value) return QString::number(value); } -void ChartPresenter::ensureGLWidget() +void ChartPresenter::updateGLWidget() { #ifndef QT_NO_OPENGL // GLWidget pointer is wrapped in QPointer as its parent is not in our control, and therefore @@ -566,6 +566,9 @@ void ChartPresenter::ensureGLWidget() m_glWidget->show(); } } + // Make sure we update the widget in a timely manner + if (!m_glWidget.isNull()) + m_glWidget->update(); #endif } diff --git a/src/charts/chartpresenter_p.h b/src/charts/chartpresenter_p.h index 2faca112..35df286b 100644 --- a/src/charts/chartpresenter_p.h +++ b/src/charts/chartpresenter_p.h @@ -166,7 +166,7 @@ public: QString numberToString(double value, char f = 'g', int prec = 6); QString numberToString(int value); - void ensureGLWidget(); + void updateGLWidget(); void glSetUseWidget(bool enable) { m_glUseWidget = enable; } private: diff --git a/src/charts/xychart/xychart.cpp b/src/charts/xychart/xychart.cpp index cfe0753e..718bc35b 100644 --- a/src/charts/xychart/xychart.cpp +++ b/src/charts/xychart/xychart.cpp @@ -113,8 +113,8 @@ void XYChart::updateChart(QVector<QPointF> &oldPoints, QVector<QPointF> &newPoin void XYChart::updateGlChart() { - presenter()->ensureGLWidget(); dataSet()->glXYSeriesDataManager()->setPoints(m_series, domain()); + presenter()->updateGLWidget(); updateGeometry(); } |