diff --git a/src/widgets/dialogs/qerrormessage.cpp b/src/widgets/dialogs/qerrormessage.cpp index 0c5a6099d5..7d52d9207c 100644 --- a/src/widgets/dialogs/qerrormessage.cpp +++ b/src/widgets/dialogs/qerrormessage.cpp @@ -149,11 +149,16 @@ static QString msgType2i18nString(QtMsgType t) return QCoreApplication::translate("QErrorMessage", messages[t]); } -static void jump(QtMsgType t, const QMessageLogContext & /*context*/, const QString &m) +static void jump(QtMsgType t, const QMessageLogContext &context, const QString &m) { if (!qtMessageHandler) return; + auto *defaultCategory = QLoggingCategory::defaultCategory(); + if (context.category && defaultCategory + && qstrcmp(context.category, defaultCategory->categoryName()) != 0) + return; + QString rich = "

"_L1 + msgType2i18nString(t) + "

"_L1 + Qt::convertFromPlainText(m, Qt::WhiteSpaceNormal); @@ -254,6 +259,8 @@ void QErrorMessage::done(int a) Returns a pointer to a QErrorMessage object that outputs the default Qt messages. This function creates such an object, if there isn't one already. + + The object will only output log messages of QLoggingCategory::defaultCategory(). */ QErrorMessage * QErrorMessage::qtHandler()