Skip to content

Commit

Permalink
Fix some memory leaks
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Sep 22, 2021
1 parent 7a26402 commit ac72a34
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 15 deletions.
5 changes: 3 additions & 2 deletions src/app/maptools/qgsappmaptools.cpp
Expand Up @@ -14,6 +14,7 @@
***************************************************************************/

#include "qgsappmaptools.h"
#include "qgisapp.h"
#include "qgsmaptool.h"
#include "qgsmaptoolselect.h"
#include "qgsmaptoolidentifyaction.h"
Expand Down Expand Up @@ -101,7 +102,7 @@ QgsStreamDigitizingSettingsAction::QgsStreamDigitizingSettingsAction( QWidget *p
QgsSettingsRegistryCore::settingsDigitizingStreamTolerance.setValue( value );
} );

QWidget *w = new QWidget();
QWidget *w = new QWidget( parent );
w->setLayout( gLayout );
setDefaultWidget( w );
}
Expand Down Expand Up @@ -181,7 +182,7 @@ QgsAppMapTools::QgsAppMapTools( QgsMapCanvas *canvas, QgsAdvancedDigitizingDockW
mTools.insert( Tool::EditMeshFrame, new QgsMapToolEditMeshFrame( canvas ) );
mTools.insert( Tool::AnnotationEdit, new QgsMapToolModifyAnnotation( canvas, cadDock ) );

mStreamDigitizingSettingsAction = new QgsStreamDigitizingSettingsAction();
mStreamDigitizingSettingsAction = new QgsStreamDigitizingSettingsAction( QgisApp::instance() );
}

QgsAppMapTools::~QgsAppMapTools()
Expand Down
8 changes: 5 additions & 3 deletions src/app/qgisapp.cpp
Expand Up @@ -1914,6 +1914,8 @@ QgisApp::~QgisApp()
mSnappingUtils = nullptr;
delete mUserInputDockWidget;
mUserInputDockWidget = nullptr;
delete mMapStylingDock;
mMapStylingDock = nullptr;

QgsGui::instance()->nativePlatformInterface()->cleanup();

Expand Down Expand Up @@ -3372,7 +3374,7 @@ void QgisApp::createToolBars()

mDigitizeModeToolButton = new QToolButton();
mDigitizeModeToolButton->setPopupMode( QToolButton::MenuButtonPopup );
QMenu *digitizeMenu = new QMenu();
QMenu *digitizeMenu = new QMenu( mDigitizeModeToolButton );
digitizeMenu->addAction( mActionDigitizeWithCurve );
digitizeMenu->addAction( mActionStreamDigitize );
digitizeMenu->addSeparator();
Expand Down Expand Up @@ -3854,7 +3856,7 @@ void QgisApp::createToolBars()

QToolButton *meshForceByLinesToolButton = new QToolButton();
meshForceByLinesToolButton->setPopupMode( QToolButton::MenuButtonPopup );
QMenu *meshForceByLineMenu = new QMenu();
QMenu *meshForceByLineMenu = new QMenu( meshForceByLinesToolButton );

//meshForceByLineMenu->addActions( editMeshMapTool->forceByLinesActions() );
meshForceByLinesToolButton->setDefaultAction( editMeshMapTool->defaultForceAction() );
Expand All @@ -3875,7 +3877,7 @@ void QgisApp::createToolBars()

QToolButton *annotationLayerToolButton = new QToolButton();
annotationLayerToolButton->setPopupMode( QToolButton::MenuButtonPopup );
QMenu *annotationLayerMenu = new QMenu();
QMenu *annotationLayerMenu = new QMenu( annotationLayerToolButton );
annotationLayerMenu->addAction( mActionCreateAnnotationLayer );
annotationLayerMenu->addAction( mMainAnnotationLayerProperties );
annotationLayerToolButton->setMenu( annotationLayerMenu );
Expand Down
3 changes: 3 additions & 0 deletions src/core/gps/qgsbabelformatregistry.cpp
Expand Up @@ -294,6 +294,9 @@ void QgsBabelFormatRegistry::reloadFromSettings()
const QString trkDownload = settings.value( QStringLiteral( "%1/trkdownload" ).arg( baseKey ), QVariant(), section ).toString();
const QString trkUpload = settings.value( QStringLiteral( "%1/trkupload" ).arg( baseKey ), QVariant(), section ).toString();

// don't leak memory if there's already a device with this name...
delete mDevices.value( device );

mDevices[device] = new QgsBabelGpsDeviceFormat( wptDownload,
wptUpload,
rteDownload,
Expand Down
1 change: 1 addition & 0 deletions src/core/qgsapplication.cpp
Expand Up @@ -2652,6 +2652,7 @@ QgsApplication::ApplicationMembers::~ApplicationMembers()
delete mSourceCache;
delete mCalloutRegistry;
delete mSymbolLayerRegistry;
delete mExternalStorageRegistry;
delete mTaskManager;
delete mNetworkContentFetcherRegistry;
delete mClassificationMethodRegistry;
Expand Down
18 changes: 8 additions & 10 deletions src/gui/qgsoptionsdialogbase.cpp
Expand Up @@ -326,15 +326,14 @@ void QgsOptionsDialogBase::setCurrentPage( const QString &page )

void QgsOptionsDialogBase::addPage( const QString &title, const QString &tooltip, const QIcon &icon, QWidget *widget, const QStringList &path )
{
QListWidgetItem *item = new QListWidgetItem();
item->setIcon( icon );
item->setText( title );
item->setToolTip( tooltip );

int newPage = -1;

if ( mOptListWidget )
{
QListWidgetItem *item = new QListWidgetItem();
item->setIcon( icon );
item->setText( title );
item->setToolTip( tooltip );
mOptListWidget->addItem( item );
}
else if ( mOptTreeModel )
Expand Down Expand Up @@ -409,13 +408,12 @@ void QgsOptionsDialogBase::insertPage( const QString &title, const QString &tool
{
//found the "before" page

QListWidgetItem *item = new QListWidgetItem();
item->setIcon( icon );
item->setText( title );
item->setToolTip( tooltip );

if ( mOptListWidget )
{
QListWidgetItem *item = new QListWidgetItem();
item->setIcon( icon );
item->setText( title );
item->setToolTip( tooltip );
mOptListWidget->insertItem( page, item );
}
else if ( mOptTreeModel )
Expand Down

0 comments on commit ac72a34

Please sign in to comment.