diff --git a/plugins/itemdata/itemdata.cpp b/plugins/itemdata/itemdata.cpp index c1993182ea97313d5500e22573365e2a2c2a4971..e0435599068188c4921a6b14d6b1e2d5a3d2b0b3 100644 --- a/plugins/itemdata/itemdata.cpp +++ b/plugins/itemdata/itemdata.cpp @@ -151,14 +151,8 @@ void ItemData::contextMenuEvent(QContextMenuEvent *e) e->ignore(); } -ItemDataLoader::ItemDataLoader() - : ui(NULL) -{ -} - ItemDataLoader::~ItemDataLoader() { - delete ui; } ItemWidget *ItemDataLoader::create(const QModelIndex &index, QWidget *parent) const @@ -187,8 +181,7 @@ QVariantMap ItemDataLoader::applySettings() QWidget *ItemDataLoader::createSettingsWidget(QWidget *parent) { - delete ui; - ui = new Ui::ItemDataSettings; + ui.reset(new Ui::ItemDataSettings); QWidget *w = new QWidget(parent); ui->setupUi(w); diff --git a/plugins/itemdata/itemdata.h b/plugins/itemdata/itemdata.h index b97656f607b2f3e605e7782bc9dcc41e4c8a635d..a613b2faadc700fd0541bab221cc049fed6439c6 100644 --- a/plugins/itemdata/itemdata.h +++ b/plugins/itemdata/itemdata.h @@ -24,6 +24,7 @@ #include "gui/icons.h" #include <QLabel> +#include <QScopedPointer> namespace Ui { class ItemDataSettings; @@ -58,8 +59,6 @@ class ItemDataLoader : public QObject, public ItemLoaderInterface Q_INTERFACES(ItemLoaderInterface) public: - ItemDataLoader(); - ~ItemDataLoader(); virtual ItemWidget *create(const QModelIndex &index, QWidget *parent) const; @@ -83,7 +82,7 @@ private slots: private: QVariantMap m_settings; - Ui::ItemDataSettings *ui; + QScopedPointer<Ui::ItemDataSettings> ui; }; #endif // ITEMDATA_H diff --git a/plugins/itemencrypted/itemencrypted.cpp b/plugins/itemencrypted/itemencrypted.cpp index 4ef2c7153dab2bc8176b8b97a74f3d7b15c904f2..7e91496b0f4221030045a35912ae917a71cf6f18 100644 --- a/plugins/itemencrypted/itemencrypted.cpp +++ b/plugins/itemencrypted/itemencrypted.cpp @@ -117,7 +117,7 @@ void ItemEncrypted::setModelData(QWidget *editor, QAbstractItemModel *model, } ItemEncryptedLoader::ItemEncryptedLoader() - : ui(NULL) + : ui() , m_settings() , m_gpgProcessStatus(GpgNotRunning) , m_gpgProcess(NULL) @@ -127,7 +127,6 @@ ItemEncryptedLoader::ItemEncryptedLoader() ItemEncryptedLoader::~ItemEncryptedLoader() { terminateGpgProcess(); - delete ui; } ItemWidget *ItemEncryptedLoader::create(const QModelIndex &index, QWidget *parent) const @@ -150,8 +149,7 @@ QVariantMap ItemEncryptedLoader::applySettings() QWidget *ItemEncryptedLoader::createSettingsWidget(QWidget *parent) { - delete ui; - ui = new Ui::ItemEncryptedSettings; + ui.reset(new Ui::ItemEncryptedSettings); QWidget *w = new QWidget(parent); ui->setupUi(w); diff --git a/plugins/itemencrypted/itemencrypted.h b/plugins/itemencrypted/itemencrypted.h index b94892313aefa8dd2e03b86fae23faf32a9370b7..6232c79fc54a82e6c505def985c3144a4eb9ff99 100644 --- a/plugins/itemencrypted/itemencrypted.h +++ b/plugins/itemencrypted/itemencrypted.h @@ -24,6 +24,7 @@ #include "gui/icons.h" #include <QProcess> +#include <QScopedPointer> #include <QWidget> namespace Ui { @@ -97,7 +98,7 @@ private: void updateUi(); - Ui::ItemEncryptedSettings *ui; + QScopedPointer<Ui::ItemEncryptedSettings> ui; QVariantMap m_settings; GpgProcessStatus m_gpgProcessStatus; diff --git a/plugins/itemfakevim/itemfakevim.cpp b/plugins/itemfakevim/itemfakevim.cpp index 2151c60c8df772b177a85b54623420a307082e58..a9d45bd40bf7c8ac170149e7c7e2796a0a06a71d 100644 --- a/plugins/itemfakevim/itemfakevim.cpp +++ b/plugins/itemfakevim/itemfakevim.cpp @@ -531,14 +531,8 @@ QObject *ItemFakeVim::createExternalEditor(const QModelIndex &index, QWidget *pa return m_childItem->createExternalEditor(index, parent); } -ItemFakeVimLoader::ItemFakeVimLoader() - : ui(NULL) -{ -} - ItemFakeVimLoader::~ItemFakeVimLoader() { - delete ui; } QVariant ItemFakeVimLoader::icon() const @@ -563,8 +557,7 @@ void ItemFakeVimLoader::loadSettings(const QVariantMap &settings) QWidget *ItemFakeVimLoader::createSettingsWidget(QWidget *parent) { - delete ui; - ui = new Ui::ItemFakeVimSettings; + ui.reset(new Ui::ItemFakeVimSettings); QWidget *w = new QWidget(parent); ui->setupUi(w); diff --git a/plugins/itemfakevim/itemfakevim.h b/plugins/itemfakevim/itemfakevim.h index b5cc7dd3cb56934e460773a471bcd1450be24ae2..252b2229dcbfe67e005cabc749603baa463b0758 100644 --- a/plugins/itemfakevim/itemfakevim.h +++ b/plugins/itemfakevim/itemfakevim.h @@ -66,8 +66,6 @@ class ItemFakeVimLoader : public QObject, public ItemLoaderInterface Q_INTERFACES(ItemLoaderInterface) public: - ItemFakeVimLoader(); - ~ItemFakeVimLoader(); virtual QString id() const { return "itemfakevim"; } @@ -91,7 +89,7 @@ public: private: bool m_enabled; QString m_sourceFileName; - Ui::ItemFakeVimSettings *ui; + QScopedPointer<Ui::ItemFakeVimSettings> ui; }; #endif // ITEMFAKEVIM_H diff --git a/plugins/itemimage/itemimage.cpp b/plugins/itemimage/itemimage.cpp index 92c505c1a03391358d36568a964772253a51ddcf..5335c07693b94573780ae05321de23c5e6919069 100644 --- a/plugins/itemimage/itemimage.cpp +++ b/plugins/itemimage/itemimage.cpp @@ -99,14 +99,8 @@ QObject *ItemImage::createExternalEditor(const QModelIndex &index, QWidget *pare return cmd.isEmpty() ? NULL : new ItemEditor(data, mime, cmd, parent); } -ItemImageLoader::ItemImageLoader() - : ui(NULL) -{ -} - ItemImageLoader::~ItemImageLoader() { - delete ui; } ItemWidget *ItemImageLoader::create(const QModelIndex &index, QWidget *parent) const @@ -137,7 +131,6 @@ QStringList ItemImageLoader::formatsToSave() const QVariantMap ItemImageLoader::applySettings() { - Q_ASSERT(ui != NULL); m_settings["max_image_width"] = ui->spinBoxImageWidth->value(); m_settings["max_image_height"] = ui->spinBoxImageHeight->value(); m_settings["image_editor"] = ui->lineEditImageEditor->text(); @@ -147,8 +140,7 @@ QVariantMap ItemImageLoader::applySettings() QWidget *ItemImageLoader::createSettingsWidget(QWidget *parent) { - delete ui; - ui = new Ui::ItemImageSettings; + ui.reset(new Ui::ItemImageSettings); QWidget *w = new QWidget(parent); ui->setupUi(w); ui->spinBoxImageWidth->setValue( m_settings.value("max_image_width", 320).toInt() ); diff --git a/plugins/itemimage/itemimage.h b/plugins/itemimage/itemimage.h index 537a8203b33b4ba5b68139eacfd5c1d0c31648fd..cfbc476a39ec48d7991a482276e081e196fca2ae 100644 --- a/plugins/itemimage/itemimage.h +++ b/plugins/itemimage/itemimage.h @@ -24,6 +24,7 @@ #include "item/itemwidget.h" #include <QLabel> +#include <QScopedPointer> namespace Ui { class ItemImageSettings; @@ -53,8 +54,6 @@ class ItemImageLoader : public QObject, public ItemLoaderInterface Q_INTERFACES(ItemLoaderInterface) public: - ItemImageLoader(); - ~ItemImageLoader(); virtual ItemWidget *create(const QModelIndex &index, QWidget *parent) const; @@ -77,7 +76,7 @@ public: private: QVariantMap m_settings; - Ui::ItemImageSettings *ui; + QScopedPointer<Ui::ItemImageSettings> ui; }; #endif // ITEMIMAGE_H diff --git a/plugins/itemnotes/itemnotes.cpp b/plugins/itemnotes/itemnotes.cpp index baf0ecdcdba1bcd85e5051d6292dcab197838c73..db6a952e4cc41baa897d688281144286409efd14 100644 --- a/plugins/itemnotes/itemnotes.cpp +++ b/plugins/itemnotes/itemnotes.cpp @@ -273,14 +273,8 @@ void ItemNotes::showToolTip() QToolTip::showText(toolTipPosition, m_toolTipText, this); } -ItemNotesLoader::ItemNotesLoader() - : ui(NULL) -{ -} - ItemNotesLoader::~ItemNotesLoader() { - delete ui; } QStringList ItemNotesLoader::formatsToSave() const @@ -298,8 +292,7 @@ QVariantMap ItemNotesLoader::applySettings() QWidget *ItemNotesLoader::createSettingsWidget(QWidget *parent) { - delete ui; - ui = new Ui::ItemNotesSettings; + ui.reset(new Ui::ItemNotesSettings); QWidget *w = new QWidget(parent); ui->setupUi(w); diff --git a/plugins/itemnotes/itemnotes.h b/plugins/itemnotes/itemnotes.h index 3c01b2eeb8facb301409294b782adf0e7800f34b..f6a61ccc2566c1cf48911a6d6fc1ad8a56ed80cd 100644 --- a/plugins/itemnotes/itemnotes.h +++ b/plugins/itemnotes/itemnotes.h @@ -87,8 +87,6 @@ class ItemNotesLoader : public QObject, public ItemLoaderInterface Q_INTERFACES(ItemLoaderInterface) public: - ItemNotesLoader(); - ~ItemNotesLoader(); virtual QString id() const { return "itemnotes"; } @@ -111,7 +109,7 @@ public: private: QVariantMap m_settings; - Ui::ItemNotesSettings *ui; + QScopedPointer<Ui::ItemNotesSettings> ui; }; #endif // ITEMNOTES_H diff --git a/plugins/itemsync/itemsync.cpp b/plugins/itemsync/itemsync.cpp index ae7ba823f07516de7056223b572d04ca1cba7c6e..494a8010facf87f63d7107a516b2de493d7f6184 100644 --- a/plugins/itemsync/itemsync.cpp +++ b/plugins/itemsync/itemsync.cpp @@ -1250,20 +1250,12 @@ private: QMap<QPersistentModelIndex, IndexData> m_indexData; }; -ItemSyncLoader::ItemSyncLoader() - : ui(NULL) - , m_settings() -{ -} - ItemSyncLoader::~ItemSyncLoader() { } QVariantMap ItemSyncLoader::applySettings() { - Q_ASSERT(ui); - // Apply settings from tab sync path table. QTableWidget *t = ui->tableWidgetSyncTabs; QStringList tabPaths; @@ -1341,8 +1333,7 @@ void setNormalStretchFixedColumns(QTableWidget *table, int normalColumn, int str QWidget *ItemSyncLoader::createSettingsWidget(QWidget *parent) { - delete ui; - ui = new Ui::ItemSyncSettings; + ui.reset(new Ui::ItemSyncSettings); QWidget *w = new QWidget(parent); ui->setupUi(w); diff --git a/plugins/itemsync/itemsync.h b/plugins/itemsync/itemsync.h index b8d3757d98a98bca6449c255c3d0ef3f323da986..e3f22014a87b7ac99fe971402b794300aaa1a32f 100644 --- a/plugins/itemsync/itemsync.h +++ b/plugins/itemsync/itemsync.h @@ -23,6 +23,7 @@ #include "gui/icons.h" #include "item/itemwidget.h" +#include <QScopedPointer> #include <QWidget> namespace Ui { @@ -100,8 +101,6 @@ class ItemSyncLoader : public QObject, public ItemLoaderInterface Q_INTERFACES(ItemLoaderInterface) public: - ItemSyncLoader(); - ~ItemSyncLoader(); virtual QString id() const { return "itemsync"; } @@ -152,7 +151,7 @@ private: bool loadItems(QAbstractItemModel *model, const QStringList &files); - Ui::ItemSyncSettings *ui; + QScopedPointer<Ui::ItemSyncSettings> ui; QVariantMap m_settings; QMap<const QObject*, FileWatcher*> m_watchers; QMap<QString, QString> m_tabPaths; diff --git a/plugins/itemtext/itemtext.cpp b/plugins/itemtext/itemtext.cpp index 86715ae5909a58e484c9fb73644c4500241a4a09..18db9e2ce6ec7ff0d56235f30fd46f7128e289e1 100644 --- a/plugins/itemtext/itemtext.cpp +++ b/plugins/itemtext/itemtext.cpp @@ -188,14 +188,8 @@ void ItemText::onSelectionChanged() m_copyOnMouseUp = true; } -ItemTextLoader::ItemTextLoader() - : ui(NULL) -{ -} - ItemTextLoader::~ItemTextLoader() { - delete ui; } ItemWidget *ItemTextLoader::create(const QModelIndex &index, QWidget *parent) const @@ -221,7 +215,6 @@ QStringList ItemTextLoader::formatsToSave() const QVariantMap ItemTextLoader::applySettings() { - Q_ASSERT(ui != NULL); m_settings[optionUseRichText] = ui->checkBoxUseRichText->isChecked(); m_settings[optionMaximumLines] = ui->spinBoxMaxLines->value(); m_settings[optionMaximumHeight] = ui->spinBoxMaxHeight->value(); @@ -230,8 +223,7 @@ QVariantMap ItemTextLoader::applySettings() QWidget *ItemTextLoader::createSettingsWidget(QWidget *parent) { - delete ui; - ui = new Ui::ItemTextSettings; + ui.reset(new Ui::ItemTextSettings); QWidget *w = new QWidget(parent); ui->setupUi(w); ui->checkBoxUseRichText->setChecked( m_settings.value(optionUseRichText, true).toBool() ); diff --git a/plugins/itemtext/itemtext.h b/plugins/itemtext/itemtext.h index 2bf88fc8f9ce1c68b8c26ed2ded55e561c600a2e..86509e2486f194e4195ffb60b679b850df4492fd 100644 --- a/plugins/itemtext/itemtext.h +++ b/plugins/itemtext/itemtext.h @@ -23,6 +23,7 @@ #include "gui/icons.h" #include "item/itemwidget.h" +#include <QScopedPointer> #include <QTextDocument> #include <QTextEdit> @@ -63,8 +64,6 @@ class ItemTextLoader : public QObject, public ItemLoaderInterface Q_INTERFACES(ItemLoaderInterface) public: - ItemTextLoader(); - ~ItemTextLoader(); virtual ItemWidget *create(const QModelIndex &index, QWidget *parent) const; @@ -85,7 +84,7 @@ public: private: QVariantMap m_settings; - Ui::ItemTextSettings *ui; + QScopedPointer<Ui::ItemTextSettings> ui; }; #endif // ITEMTEXT_H diff --git a/plugins/itemweb/itemweb.cpp b/plugins/itemweb/itemweb.cpp index 2dd0c95bef7379ac932df2fccca56ff74dc97539..a8667292f030f4ec4d2bf7355106e77281b6a987 100644 --- a/plugins/itemweb/itemweb.cpp +++ b/plugins/itemweb/itemweb.cpp @@ -162,8 +162,7 @@ void ItemWeb::mouseReleaseEvent(QMouseEvent *e) } } -ItemWebLoader::ItemWebLoader() - : ui(NULL) +ItemWebLoader::~ItemWebLoader() { } @@ -189,8 +188,7 @@ QVariantMap ItemWebLoader::applySettings() QWidget *ItemWebLoader::createSettingsWidget(QWidget *parent) { - delete ui; - ui = new Ui::ItemWebSettings; + ui.reset(new Ui::ItemWebSettings); QWidget *w = new QWidget(parent); ui->setupUi(w); ui->spinBoxMaxHeight->setValue( m_settings.value(optionMaximumHeight, 0).toInt() ); diff --git a/plugins/itemweb/itemweb.h b/plugins/itemweb/itemweb.h index d50c33b94249af154be0ae1cfbfe3384fe88fb18..a103abcb9665ff6d293f72dc1a05ab7d5c2435ca 100644 --- a/plugins/itemweb/itemweb.h +++ b/plugins/itemweb/itemweb.h @@ -23,6 +23,7 @@ #include "gui/icons.h" #include "item/itemwidget.h" +#include <QScopedPointer> #include <QVariantMap> #if QT_VERSION < 0x050000 @@ -73,7 +74,7 @@ class ItemWebLoader : public QObject, public ItemLoaderInterface Q_INTERFACES(ItemLoaderInterface) public: - ItemWebLoader(); + ~ItemWebLoader(); virtual ItemWidget *create(const QModelIndex &index, QWidget *parent) const; @@ -95,7 +96,7 @@ public: private: QVariantMap m_settings; - Ui::ItemWebSettings *ui; + QScopedPointer<Ui::ItemWebSettings> ui; }; #endif // ITEMWEB_H diff --git a/utils/sanitize.sh b/utils/sanitize.sh index 20d1056a8538a26df6efcf750c4bf7154cee82ea..60408c16ff83336ef1f07f402e8e1a83ad6a1035 100755 --- a/utils/sanitize.sh +++ b/utils/sanitize.sh @@ -25,7 +25,7 @@ if [ "$sanitize" == "address" ]; then sanitize_other="$sanitize_other,address-full,init-order" export ASAN_SYMBOLIZER_PATH=${ASAN_SYMBOLIZER_PATH:-$(which llvm-symbolizer)} - export ASAN_OPTIONS=${ASAN_OPTIONS:-"detect_stack_use_after_return=1 print_stats=1"} + export ASAN_OPTIONS=${ASAN_OPTIONS:-"detect_leaks=1 detect_stack_use_after_return=1 print_stats=1"} elif [ "$sanitize" == "memory" ]; then compiler_flags="$compiler_flags -fsanitize-memory-track-origins"