diff --git a/src/gui/qgsmapcanvas.cpp b/src/gui/qgsmapcanvas.cpp index 58dc9e7867f..787fed3a223 100644 --- a/src/gui/qgsmapcanvas.cpp +++ b/src/gui/qgsmapcanvas.cpp @@ -2169,7 +2169,13 @@ void QgsMapCanvas::startPreviewJob( int number ) { mPreviewTimer.setSingleShot( true ); mPreviewTimer.setInterval( 10 ); - connect( &mPreviewTimer, &QTimer::timeout, [ = ]() { startPreviewJob( number + 1 ); } ); + disconnect( mPreviewTimerConnection ); + mPreviewTimerConnection = connect( &mPreviewTimer, &QTimer::timeout, [ = ]() + { + startPreviewJob( number + 1 ); + } + ); + mPreviewTimer.start(); } } diff --git a/src/gui/qgsmapcanvas.h b/src/gui/qgsmapcanvas.h index 5e683af183b..14a29784648 100644 --- a/src/gui/qgsmapcanvas.h +++ b/src/gui/qgsmapcanvas.h @@ -848,6 +848,7 @@ class GUI_EXPORT QgsMapCanvas : public QGraphicsView QTimer mAutoRefreshTimer; QTimer mPreviewTimer; + QMetaObject::Connection mPreviewTimerConnection; QString mTheme;