Skip to content

Commit 6470aac

Browse files
committedJun 17, 2018
Ban QScopedPointer/QSharedPointer
1 parent e1ace09 commit 6470aac

File tree

6 files changed

+22
-16
lines changed

6 files changed

+22
-16
lines changed
 

‎python/gui/auto_generated/qgsmapcanvas.sip.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Map canvas is a class for displaying all GIS data types on a canvas.
4040
Constructor
4141
%End
4242

43+
4344
~QgsMapCanvas();
4445

4546
double magnificationFactor() const;
@@ -1019,6 +1020,8 @@ called when panning is in action, reset indicates end of panning
10191020
called on resize or changed extent to notify canvas items to change their rectangle
10201021
%End
10211022

1023+
private:
1024+
QgsMapCanvas( QgsMapCanvas const & );
10221025
}; // class QgsMapCanvas
10231026

10241027

‎src/3d/terrain/qgsdemterraintilegeometry_p.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,8 @@ void DemTerrainTileGeometry::init()
294294
// Each primitive has 3 vertives
295295
mIndexAttribute->setCount( faces * 3 );
296296

297-
mVertexBuffer->setDataGenerator( QSharedPointer<PlaneVertexBufferFunctor>::create( mResolution, mSkirtHeight, mHeightMap ) );
298-
mIndexBuffer->setDataGenerator( QSharedPointer<PlaneIndexBufferFunctor>::create( mResolution, mHeightMap ) );
297+
mVertexBuffer->setDataGenerator( QSharedPointer<PlaneVertexBufferFunctor>::create( mResolution, mSkirtHeight, mHeightMap ) ); // skip-keyword-check
298+
mIndexBuffer->setDataGenerator( QSharedPointer<PlaneIndexBufferFunctor>::create( mResolution, mHeightMap ) ); // skip-keyword-check
299299

300300
addAttribute( mPositionAttribute );
301301
addAttribute( mTexCoordAttribute );

‎src/gui/qgsmapcanvas.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -239,14 +239,9 @@ QgsMapCanvas::~QgsMapCanvas()
239239

240240
mScene->deleteLater(); // crashes in python tests on windows
241241

242-
// mCanvasProperties auto-deleted via QScopedPointer
243-
// CanvasProperties struct has its own dtor for freeing resources
244-
245242
delete mCache;
246-
247243
delete mLabelingResults;
248-
249-
} // dtor
244+
}
250245

251246
void QgsMapCanvas::setMagnificationFactor( double factor )
252247
{

‎src/gui/qgsmapcanvas.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@ class GUI_EXPORT QgsMapCanvas : public QGraphicsView
9292
//! Constructor
9393
QgsMapCanvas( QWidget *parent SIP_TRANSFERTHIS = nullptr );
9494

95+
//! QgsMapCanvas cannot be copied
96+
QgsMapCanvas( const QgsMapCanvas &other ) = delete;
97+
//! QgsMapCanvas cannot be copied
98+
QgsMapCanvas &operator=( const QgsMapCanvas &other ) = delete;
99+
95100
~QgsMapCanvas() override;
96101

97102
/**
@@ -902,13 +907,9 @@ class GUI_EXPORT QgsMapCanvas : public QGraphicsView
902907
private:
903908
/// this class is non-copyable
904909

905-
/**
906-
\note
907-
908-
Otherwise QScopedPointer would pass the object responsibility on to the
909-
copy like a hot potato leaving the copyer in a weird state.
910-
*/
910+
#ifdef SIP_RUN
911911
QgsMapCanvas( QgsMapCanvas const & );
912+
#endif
912913

913914
//! encompases all map settings necessary for map rendering
914915
QgsMapSettings mSettings;

‎src/server/services/wms/qgswmsrenderer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2798,7 +2798,7 @@ namespace QgsWms
27982798
QStringLiteral( "error message: %1. The XML string was: %2" ).arg( errorMsg, filter ) );
27992799
}
28002800
QDomElement filterElem = filterXml.firstChildElement();
2801-
QScopedPointer<QgsExpression> expression( QgsOgcUtils::expressionFromOgcFilter( filterElem, filteredLayer ) );
2801+
std::unique_ptr<QgsExpression> expression( QgsOgcUtils::expressionFromOgcFilter( filterElem, filteredLayer ) );
28022802
mFeatureFilter.setFilter( filteredLayer, *expression );
28032803
}
28042804
else

‎tests/code_layout/test_banned_keywords.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,18 +98,25 @@ HINTS[24]="Use std::swap instead"
9898
KEYWORDS[25]="\bqUpperBound("
9999
HINTS[25]="Use std::upper_bound instead"
100100

101+
KEYWORDS[26]="QScopedPointer"
102+
HINTS[26]="Use std::unique_ptr instead"
103+
104+
KEYWORDS[27]="QSharedPointer"
105+
HINTS[27]="Use std::shared_ptr instead"
106+
101107
RES=
102108
DIR=$(git rev-parse --show-toplevel)
103109

104110
pushd "${DIR}" > /dev/null || exit
105111

106112
for i in "${!KEYWORDS[@]}"
107113
do
108-
FOUND=$(git grep "${KEYWORDS[$i]}" -- 'src/*.h' 'src/*.cpp' -- ':!*qtermwidget*')
114+
FOUND=$(git grep "${KEYWORDS[$i]}" -- 'src/*.h' 'src/*.cpp' -- ':!*qtermwidget*' | grep --invert-match skip-keyword-check)
109115

110116
if [[ ${FOUND} ]]; then
111117
echo "Found source files with banned keyword: ${KEYWORDS[$i]}!"
112118
echo " -> ${HINTS[$i]}"
119+
echo " or mark with // skip-keyword-check"
113120
echo
114121
echo "${FOUND}"
115122
echo

0 commit comments

Comments
 (0)
Please sign in to comment.