From b678cc29899b387b632596b7c0f85abf2fc8ea81 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 24 Aug 2014 20:57:40 +0200 Subject: QRegion: remove some toplevel const from return types It has no effect and inhibits move semantics. After this change, two and five more copies are moves in QtGui and QtWidgets, resp. Keep the old form for compilers that mangle the return type. Change-Id: I6257683144110230079fe9095303907ecc858c94 Reviewed-by: Olivier Goffart Reviewed-by: Thiago Macieira --- src/gui/painting/qregion.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/gui/painting/qregion.h') diff --git a/src/gui/painting/qregion.h b/src/gui/painting/qregion.h index 323a1858fa..8ab1a8e3b3 100644 --- a/src/gui/painting/qregion.h +++ b/src/gui/painting/qregion.h @@ -112,7 +112,8 @@ public: QVector rects() const; void setRects(const QRect *rect, int num); int rectCount() const; - +#ifdef Q_COMPILER_MANGLES_RETURN_TYPE + // ### Qt 6: remove these, they're kept for MSVC compat const QRegion operator|(const QRegion &r) const; const QRegion operator+(const QRegion &r) const; const QRegion operator+(const QRect &r) const; @@ -120,6 +121,15 @@ public: const QRegion operator&(const QRect &r) const; const QRegion operator-(const QRegion &r) const; const QRegion operator^(const QRegion &r) const; +#else + QRegion operator|(const QRegion &r) const; + QRegion operator+(const QRegion &r) const; + QRegion operator+(const QRect &r) const; + QRegion operator&(const QRegion &r) const; + QRegion operator&(const QRect &r) const; + QRegion operator-(const QRegion &r) const; + QRegion operator^(const QRegion &r) const; +#endif // Q_COMPILER_MANGLES_RETURN_TYPE QRegion& operator|=(const QRegion &r); QRegion& operator+=(const QRegion &r); QRegion& operator+=(const QRect &r); -- cgit v1.2.3