diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp index 3c13d10f58983d6689d1b2ee6ee8ae660d951153..b733277dd41335013bd36196ccba1983d6d5e337 100644 --- a/src/plugins/cpptools/cppcodeformatter.cpp +++ b/src/plugins/cpptools/cppcodeformatter.cpp @@ -93,6 +93,7 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block) case namespace_start: switch (kind) { case T_LBRACE: enter(namespace_open); break; + case T_SEMICOLON: case T_RBRACE: leave(); break; } break; diff --git a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp index 0b240fa107c848ea08ade7ac06894d057c1136fd..541f5c4e4d97bbbfde40bb4899a462bfb64e4ceb 100644 --- a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp +++ b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp @@ -51,6 +51,7 @@ private Q_SLOTS: void forStatement(); void templateSingleline(); void macrosNoSemicolon2(); + void renamedNamespace(); }; struct Line { @@ -985,6 +986,20 @@ void tst_CodeFormatter::macrosNoSemicolon2() checkIndent(data); } +void tst_CodeFormatter::renamedNamespace() +{ + QList<Line> data; + data + << Line("namespace X = Y;") + << Line("void foo()") + << Line("{") + << Line(" return;") + << Line("}") + << Line("int i;") + ; + checkIndent(data); +} + QTEST_APPLESS_MAIN(tst_CodeFormatter) #include "tst_codeformatter.moc"