GUI: Only edit contract for non-bailout warnings
This commit is contained in:
parent
dae009ca01
commit
c19a9c2ad9
|
@ -52,6 +52,11 @@
|
|||
static const unsigned int COLUMN_SINCE_DATE = 6;
|
||||
static const unsigned int COLUMN_TAGS = 7;
|
||||
|
||||
static QString getFunction(QStandardItem *item)
|
||||
{
|
||||
return item->data().toMap().value("function").toString();
|
||||
}
|
||||
|
||||
ResultsTree::ResultsTree(QWidget * parent) :
|
||||
QTreeView(parent),
|
||||
mSettings(nullptr),
|
||||
|
@ -613,7 +618,7 @@ void ResultsTree::contextMenuEvent(QContextMenuEvent * e)
|
|||
|
||||
const bool bughunting = !multipleSelection && mContextItem->data().toMap().value("id").toString().startsWith("bughunting");
|
||||
|
||||
if (bughunting) {
|
||||
if (bughunting && !getFunction(mContextItem).isEmpty()) {
|
||||
QAction *editContract = new QAction(tr("Edit contract.."), &menu);
|
||||
connect(editContract, &QAction::triggered, this, &ResultsTree::editContract);
|
||||
menu.addAction(editContract);
|
||||
|
@ -1035,8 +1040,7 @@ void ResultsTree::openContainingFolder()
|
|||
|
||||
void ResultsTree::editContract()
|
||||
{
|
||||
QString function = mContextItem->data().toMap().value("function").toString();
|
||||
emit editFunctionContract(function);
|
||||
emit editFunctionContract(getFunction(mContextItem));
|
||||
}
|
||||
|
||||
void ResultsTree::tagSelectedItems(const QString &tag)
|
||||
|
|
|
@ -1855,6 +1855,7 @@ void ExprEngine::runChecks(ErrorLogger *errorLogger, const Tokenizer *tokenizer,
|
|||
std::list<const Token*> callstack{settings->clang ? tok : tok->astParent()};
|
||||
const char * const id = (tok->valueType() && tok->valueType()->isFloat()) ? "bughuntingDivByZeroFloat" : "bughuntingDivByZero";
|
||||
ErrorLogger::ErrorMessage errmsg(callstack, &tokenizer->list, Severity::SeverityType::error, id, "There is division, cannot determine that there can't be a division by zero.", CWE(369), false);
|
||||
if (value.type != ExprEngine::ValueType::BailoutValue)
|
||||
errmsg.function = dataBase->currentFunction;
|
||||
errorLogger->reportErr(errmsg);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue