From f71f6200ff6de848f3caca66e8183c7d9e85c3cf Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Mon, 10 May 2010 13:55:11 +0200
Subject: [PATCH] Compile.

---
 src/plugins/designer/qtcreatorintegration.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/plugins/designer/qtcreatorintegration.cpp b/src/plugins/designer/qtcreatorintegration.cpp
index 36f5e66359c..75bf03f0e10 100644
--- a/src/plugins/designer/qtcreatorintegration.cpp
+++ b/src/plugins/designer/qtcreatorintegration.cpp
@@ -44,6 +44,7 @@
 #include <cplusplus/Literals.h>
 #include <cplusplus/Scope.h>
 #include <cplusplus/Control.h>
+#include <cplusplus/TranslationUnit.h>
 #include <cplusplus/DeprecatedLookupContext.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/editormanager/editormanager.h>
@@ -404,8 +405,10 @@ static inline ITextEditable *editableAt(const QString &fileName, int line, int c
     return qobject_cast<ITextEditable *>(TextEditor::BaseTextEditor::openEditorAt(fileName, line, column));
 }
 
-static void addDeclaration(const QString &docFileName, const Class *cl, const QString &functionName)
+static void addDeclaration(Document::Ptr doc, const Class *cl, const QString &functionName)
 {
+    const QString docFileName = doc->fileName();
+    TranslationUnit *unit = doc->translationUnit();
     QString declaration = QLatin1String("void ");
     declaration += functionName;
     declaration += QLatin1String(";\n");
@@ -423,7 +426,7 @@ static void addDeclaration(const QString &docFileName, const Class *cl, const QS
                     const int column = fun->column();
                     if (ITextEditable *editable = editableAt(docFileName, line, column)) {
                         unsigned dl, dc; // this position is the beginning of return value: "^void foo(...)"
-                        decl->getStartPosition(&dl, &dc);
+                        unit->getPosition(decl->startOffset(), &dl, &dc);
                         dc--; // if the first character in line is 'v' coming from "void" getStartPosition returns 1, not 0, so we always decrement it.
                         editable->gotoLine(dl, dc);
                         editable->position(ITextEditor::StartOfLine);
@@ -661,7 +664,7 @@ bool QtCreatorIntegration::navigateToSlot(const QString &objectName,
         }
     } else {
         // add function declaration to cl
-        addDeclaration(doc->fileName(), cl, functionNameWithParameterNames);
+        addDeclaration(doc, cl, functionNameWithParameterNames);
 
         // add function definition to cpp file
         sourceDoc = addDefinition(docTable, doc->fileName(), className, functionNameWithParameterNames, &line);
-- 
GitLab