diff --git a/CMakeLists.txt b/CMakeLists.txt index aed63dd2dc0..1b1a3770803 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -549,6 +549,8 @@ IF (PEDANTIC) # c++ only warnings + SET(_warnings "${_warnings} -Wnon-virtual-dtor") + # unavoidable - we can't avoid these, as older, supported compilers do not support removing the redundant move SET(_warnings "${_warnings} -Wno-redundant-move") diff --git a/python/core/auto_generated/qgsfeatureiterator.sip.in b/python/core/auto_generated/qgsfeatureiterator.sip.in index d634f1a4111..97560a85981 100644 --- a/python/core/auto_generated/qgsfeatureiterator.sip.in +++ b/python/core/auto_generated/qgsfeatureiterator.sip.in @@ -240,7 +240,7 @@ Copy constructor copies the iterator, increases ref.count bool rewind(); bool close(); - virtual bool isValid() const; + bool isValid() const; %Docstring Will return if this iterator is valid. An invalid iterator was probably introduced by a failed attempt to acquire a connection diff --git a/src/core/geometry/qgswkbptr.h b/src/core/geometry/qgswkbptr.h index d95e36352c8..7fe6a0c8b2f 100644 --- a/src/core/geometry/qgswkbptr.h +++ b/src/core/geometry/qgswkbptr.h @@ -169,9 +169,9 @@ class CORE_EXPORT QgsConstWkbPtr inline const QgsConstWkbPtr &operator>>( char &v ) const { read( v ); return *this; } SIP_SKIP //! Read a point - virtual const QgsConstWkbPtr &operator>>( QPointF &point ) const; SIP_SKIP + const QgsConstWkbPtr &operator>>( QPointF &point ) const; SIP_SKIP //! Read a point array - virtual const QgsConstWkbPtr &operator>>( QPolygonF &points ) const; SIP_SKIP + const QgsConstWkbPtr &operator>>( QPolygonF &points ) const; SIP_SKIP inline void operator+=( int n ) { verifyBound( n ); mP += n; } SIP_SKIP inline void operator-=( int n ) { mP -= n; } SIP_SKIP diff --git a/src/core/qgsfeatureiterator.h b/src/core/qgsfeatureiterator.h index da0bbc0c5cc..ab2c533339b 100644 --- a/src/core/qgsfeatureiterator.h +++ b/src/core/qgsfeatureiterator.h @@ -310,7 +310,7 @@ class CORE_EXPORT QgsFeatureIterator * * \since QGIS 3.0 */ - virtual bool isValid() const; + bool isValid() const; //! find out whether the iterator is still valid or closed already bool isClosed() const;