From c8fae1122216b66f16e15aa5a5527ddf613aac26 Mon Sep 17 00:00:00 2001
From: Christian Kamm <christian.d.kamm@nokia.com>
Date: Thu, 8 Jul 2010 13:07:32 +0200
Subject: [PATCH] C++ indenter: Fix for extending if conditions.

Task-number: QTCREATORBUG-1825
---
 src/plugins/cpptools/cppcodeformatter.cpp            | 12 +++++++-----
 .../cplusplus/codeformatter/tst_codeformatter.cpp    |  2 +-
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp
index f0288538a1f..45c79e783ec 100644
--- a/src/plugins/cpptools/cppcodeformatter.cpp
+++ b/src/plugins/cpptools/cppcodeformatter.cpp
@@ -1194,11 +1194,13 @@ void QtStyleCodeFormatter::adjustIndent(const QList<CPlusPlus::Token> &tokens, i
         }
         break;
     }
-    case T_RPAREN:
-        if (topState.type == condition_open) {
-            *indentDepth = previousState.savedIndentDepth;
-        }
-        break;
+    // Disabled for now, see QTCREATORBUG-1825. It makes extending if conditions
+    // awkward: inserting a newline just before the ) shouldn't align to 'if'.
+    //case T_RPAREN:
+    //    if (topState.type == condition_open) {
+    //        *indentDepth = previousState.savedIndentDepth;
+    //    }
+    //    break;
     case T_DEFAULT:
     case T_CASE:
         for (int i = 0; state(i).type != topmost_intro; ++i) {
diff --git a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp
index 3141e76002f..c8216f90bac 100644
--- a/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp
+++ b/tests/auto/cplusplus/codeformatter/tst_codeformatter.cpp
@@ -266,7 +266,7 @@ void tst_CodeFormatter::ifStatementLongCondition()
          << Line("            || (a + b > 4")
          << Line("                && foo(bar)")
          << Line("                )")
-         << Line("    ) {")
+         << Line("            ) {")
          << Line("        foo;")
          << Line("    }")
          << Line("}");
-- 
GitLab