diff options
Diffstat (limited to 'src/corelib/io/qdebug.cpp')
-rw-r--r-- | src/corelib/io/qdebug.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/corelib/io/qdebug.cpp b/src/corelib/io/qdebug.cpp index 013d531581..12f590584c 100644 --- a/src/corelib/io/qdebug.cpp +++ b/src/corelib/io/qdebug.cpp @@ -939,14 +939,18 @@ void qt_QMetaEnum_flagDebugOperator(QDebug &debug, size_t sizeofT, int value) QDebug qt_QMetaEnum_debugOperator(QDebug &dbg, int value, const QMetaObject *meta, const char *name) { QDebugStateSaver saver(dbg); + dbg.nospace(); QMetaEnum me = meta->enumerator(meta->indexOfEnumerator(name)); const char *key = me.valueToKey(value); - dbg.nospace() << meta->className() << "::" << name << '('; - if (key) + if (key) { + if (const char *scope = me.scope()) + dbg << scope << "::"; + if (me.isScoped()) + dbg << name << "::"; dbg << key; - else - dbg << value; - dbg << ')'; + } else { + dbg << meta->className() << "::" << name << "(" << value << ")"; + } return dbg; } |