qC{Debug,Info,Warning,Critical}: move the function call to the macro
The change in commit 04ee5795cc31ee81fb0c27bf55d9e8f662995753 was source-incompatible if the function in question was a non-static member. I could add a new, template constructor to catch those, but this is simpler. Fixes: QTBUG-115043 Change-Id: I53335f845a1345299031fffd176f1071afbae7a9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit ef9fe7a99a9a6779e7133167fe84426bfe9cc371) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
bccb6c13f0
commit
2e70ca4847
@ -67,11 +67,6 @@ template <QtMsgType Which> struct QLoggingCategoryMacroHolder
|
|||||||
if (IsOutputEnabled)
|
if (IsOutputEnabled)
|
||||||
init(cat);
|
init(cat);
|
||||||
}
|
}
|
||||||
explicit QLoggingCategoryMacroHolder(QMessageLogger::CategoryFunction catfunc)
|
|
||||||
{
|
|
||||||
if (IsOutputEnabled)
|
|
||||||
init(catfunc());
|
|
||||||
}
|
|
||||||
void init(const QLoggingCategory &cat) noexcept
|
void init(const QLoggingCategory &cat) noexcept
|
||||||
{
|
{
|
||||||
category = &cat;
|
category = &cat;
|
||||||
@ -122,7 +117,7 @@ template <> const bool QLoggingCategoryMacroHolder<QtWarningMsg>::IsOutputEnable
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define QT_MESSAGE_LOGGER_COMMON(category, level) \
|
#define QT_MESSAGE_LOGGER_COMMON(category, level) \
|
||||||
for (QLoggingCategoryMacroHolder<level> qt_category(category); qt_category; qt_category.control = false) \
|
for (QLoggingCategoryMacroHolder<level> qt_category(category()); qt_category; qt_category.control = false) \
|
||||||
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, qt_category.name())
|
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, qt_category.name())
|
||||||
|
|
||||||
#define qCDebug(category, ...) QT_MESSAGE_LOGGER_COMMON(category, QtDebugMsg).debug(__VA_ARGS__)
|
#define qCDebug(category, ...) QT_MESSAGE_LOGGER_COMMON(category, QtDebugMsg).debug(__VA_ARGS__)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user