Meson: Fix issues reported by Coverity

Mostly uninitialized members, and one use-after-free.

Change-Id: Idfc9b0f39733e87e22a97d741cb261e1b09a8815
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Orgad Shaneh
2020-06-12 11:18:04 +03:00
committed by Orgad Shaneh
parent bdb4e3d793
commit 60dab96d39
7 changed files with 9 additions and 9 deletions

View File

@@ -163,9 +163,7 @@ public:
QTC_ASSERT(column >= 0 && column < 2, return Qt::NoItemFlags);
if (column == 0)
return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
if (column == 1)
return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable;
return Qt::NoItemFlags;
}
BuildOption::Type type() const { return m_option->type(); }
QString toolTip() const { return m_option->description(); }

View File

@@ -117,7 +117,7 @@ private:
bool fromMap(const QVariantMap &map) override;
MesonBuildType m_buildType;
ProjectExplorer::NamedWidget *createConfigWidget() final;
MesonBuildSystem *m_buildSystem;
MesonBuildSystem *m_buildSystem = nullptr;
};
class MesonBuildConfigurationFactory final : public ProjectExplorer::BuildConfigurationFactory

View File

@@ -110,7 +110,6 @@ MesonProjectParser::MesonProjectParser(const Core::Id &meson,
ProjectExplorer::Project *project)
: m_env{env}
, m_meson{meson}
, m_configuring{false}
, m_projectName{project->displayName()}
{
connect(&m_process, &MesonProcess::finished, this, &MesonProjectParser::processFinished);

View File

@@ -116,11 +116,11 @@ private:
Utils::FilePath m_buildDir;
Utils::FilePath m_srcDir;
QFuture<ParserData *> m_parserFutureResult;
bool m_configuring;
bool m_configuring = false;
IntroDataType m_introType;
MesonInfoParser::Result m_parserResult;
QStringList m_targetsNames;
Utils::QtVersion m_qtVersion;
Utils::QtVersion m_qtVersion = Utils::QtVersion::Unknown;
std::unique_ptr<MesonProjectNode> m_rootNode; // <- project tree root node
QString m_projectName;
// maybe moving meson to build step could make this class simpler

View File

@@ -56,7 +56,7 @@ private:
QString defaultBuildTarget() const;
QString m_commandArgs;
QString m_targetName;
NinjaParser *m_ninjaParser;
NinjaParser *m_ninjaParser = nullptr;
};
class MesonBuildStepFactory final : public ProjectExplorer::BuildStepFactory

View File

@@ -28,6 +28,8 @@ namespace MesonProjectManager {
namespace Internal {
Settings::Settings(QObject *parent)
: QObject(parent)
, m_autorunMeson(true)
, m_verboseNinja(true)
{}
} // namespace Internal
} // namespace MesonProjectManager

View File

@@ -62,8 +62,9 @@ void ToolsModel::addMesonTool()
void ToolsModel::removeMesonTool(ToolTreeItem *item)
{
QTC_ASSERT(item, return );
const Core::Id id = item->id();
destroyItem(item);
m_itemsToRemove.enqueue(item->id());
m_itemsToRemove.enqueue(id);
}
ToolTreeItem *ToolsModel::cloneMesonTool(ToolTreeItem *item)