diff options
author | Luca Beldi <v.ronin@yahoo.it> | 2018-11-13 08:54:37 +0000 |
---|---|---|
committer | Luca Beldi <v.ronin@yahoo.it> | 2018-11-19 10:41:54 +0000 |
commit | c0c4be672bd652d29a5c8f52e31ad76a1361e320 (patch) | |
tree | 2755bc52194cc382d3c47859f580db88ce3bc691 /src/gui/text/qfontmetrics.h | |
parent | 85b4aaaa99556fa248a7d688d2fe9d99d28234b0 (diff) |
Fix constness of QPaintDevice arguments
QFont, QFontMetrics, QFontMetricsF and QTextLayout constructors
use only const methods of QPaintDevice so there is no reason
for them to require a non-const pointer argument
Fixes: QTBUG-65967
Change-Id: Ibfcdef2a25f0cd4284dad76135fc4c9bf5667d7a
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/gui/text/qfontmetrics.h')
-rw-r--r-- | src/gui/text/qfontmetrics.h | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/src/gui/text/qfontmetrics.h b/src/gui/text/qfontmetrics.h index b6167a1d47..ba7f695380 100644 --- a/src/gui/text/qfontmetrics.h +++ b/src/gui/text/qfontmetrics.h @@ -59,7 +59,19 @@ class Q_GUI_EXPORT QFontMetrics { public: explicit QFontMetrics(const QFont &); - QFontMetrics(const QFont &, QPaintDevice *pd); +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + QFontMetrics(const QFont &font, QPaintDevice *pd); +#ifndef Q_QDOC + // the template is necessary to make QFontMetrics(font,nullptr) and QFontMetrics(font,NULL) + // not ambiguous. Implementation detail that should not be documented. + template<char = 0> +#endif + QFontMetrics(const QFont &font, const QPaintDevice *pd) + : QFontMetrics(font, const_cast<QPaintDevice*>(pd)) + {} +#else + QFontMetrics(const QFont &font, const QPaintDevice *pd); +#endif QFontMetrics(const QFontMetrics &); ~QFontMetrics(); @@ -137,8 +149,20 @@ Q_DECLARE_SHARED(QFontMetrics) class Q_GUI_EXPORT QFontMetricsF { public: - explicit QFontMetricsF(const QFont &); - QFontMetricsF(const QFont &, QPaintDevice *pd); + explicit QFontMetricsF(const QFont &font); +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + QFontMetricsF(const QFont &font, QPaintDevice *pd); +#ifndef Q_QDOC + // the template is necessary to make QFontMetrics(font,nullptr) and QFontMetrics(font,NULL) + // not ambiguous. Implementation detail that should not be documented. + template<char = 0> +#endif + QFontMetricsF(const QFont &font, const QPaintDevice *pd) + : QFontMetricsF(font, const_cast<QPaintDevice*>(pd)) + {} +#else + QFontMetricsF(const QFont &font, const QPaintDevice *pd); +#endif QFontMetricsF(const QFontMetrics &); QFontMetricsF(const QFontMetricsF &); ~QFontMetricsF(); |