@@ -90,6 +90,24 @@ static const std::array<Platform::Type, 6> builtinPlatforms = {
9090 Platform::Type::Unix64
9191};
9292
93+ static std::string suppressionAsText (const SuppressionList::Suppression& s)
94+ {
95+ std::string ret;
96+ if (!s.errorId .empty ())
97+ ret = s.errorId ;
98+ if (!s.fileName .empty ())
99+ ret += " fileName=" + s.fileName ;
100+ if (s.lineNumber != SuppressionList::Suppression::NO_LINE)
101+ ret += " lineNumber=" + std::to_string (s.lineNumber );
102+ if (!s.symbolName .empty ())
103+ ret += " symbolName=" + s.symbolName ;
104+ if (s.hash > 0 )
105+ ret += " hash=" + std::to_string (s.hash );
106+ if (startsWith (ret," " ))
107+ return ret.substr (1 );
108+ return ret;
109+ }
110+
93111QStringList ProjectFileDialog::getProjectConfigs (const QString &fileName)
94112{
95113 if (!fileName.endsWith (" .sln" ) && !fileName.endsWith (" .vcxproj" ))
@@ -808,7 +826,7 @@ void ProjectFileDialog::setLibraries(const QStringList &libraries)
808826void ProjectFileDialog::addSingleSuppression (const SuppressionList::Suppression &suppression)
809827{
810828 mSuppressions += suppression;
811- mUI ->mListSuppressions ->addItem (QString::fromStdString (suppression. getText ( )));
829+ mUI ->mListSuppressions ->addItem (QString::fromStdString (suppressionAsText (suppression )));
812830}
813831
814832void ProjectFileDialog::setSuppressions (const QList<SuppressionList::Suppression> &suppressions)
@@ -949,7 +967,7 @@ int ProjectFileDialog::getSuppressionIndex(const QString &shortText) const
949967{
950968 const std::string s = shortText.toStdString ();
951969 auto it = std::find_if (mSuppressions .cbegin (), mSuppressions .cend (), [&](const SuppressionList::Suppression& sup) {
952- return sup. getText ( ) == s;
970+ return suppressionAsText (sup ) == s;
953971 });
954972 return it == mSuppressions .cend () ? -1 : static_cast <int >(std::distance (mSuppressions .cbegin (), it));
955973}
0 commit comments