From 4e6c8e38be694f61333f54efd7e9c02e29c69ed6 Mon Sep 17 00:00:00 2001 From: Kai Koehne <kai.koehne@nokia.com> Date: Wed, 14 Jul 2010 12:53:54 +0200 Subject: [PATCH] CppOutline: Fix navigation to e.g. enum members Use symbol->line() && symbol->column() instead going through the translation unit. That's also what CppEditor does in jumpToOutlineElement(). --- src/plugins/cppeditor/cppoutline.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/plugins/cppeditor/cppoutline.cpp b/src/plugins/cppeditor/cppoutline.cpp index 5bab2160bee..146b060ae68 100644 --- a/src/plugins/cppeditor/cppoutline.cpp +++ b/src/plugins/cppeditor/cppoutline.cpp @@ -120,19 +120,16 @@ void CppOutlineWidget::updateSelectionInText(const QItemSelection &selection) CPlusPlus::Symbol *symbol = m_model->symbolFromIndex(index); if (symbol) { m_blockCursorSync = true; - unsigned line, column; - - m_model->document()->translationUnit()->getPosition(symbol->startOffset(), &line, &column); if (debug) - qDebug() << "CppOutline - moving cursor to" << line << column - 1; + qDebug() << "CppOutline - moving cursor to" << symbol->line() << symbol->column() - 1; Core::EditorManager *editorManager = Core::EditorManager::instance(); editorManager->cutForwardNavigationHistory(); editorManager->addCurrentPositionToNavigationHistory(); // line has to be 1 based, column 0 based! - m_editor->gotoLine(line, column - 1); + m_editor->gotoLine(symbol->line(), symbol->column() - 1); m_blockCursorSync = false; } } -- GitLab