From 222b4faba8ab8b0d82b7ab14549bfc46ed8393c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com> Date: Thu, 26 Mar 2009 18:04:06 +0100 Subject: [PATCH] Don't try to jump to unresolved included files It popped up an error saying the file couldn't be found. Better not show a link at all. --- src/libs/cplusplus/CppDocument.h | 4 ++++ src/plugins/cppeditor/cppeditor.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libs/cplusplus/CppDocument.h b/src/libs/cplusplus/CppDocument.h index 556e1293335..c1e9041988a 100644 --- a/src/libs/cplusplus/CppDocument.h +++ b/src/libs/cplusplus/CppDocument.h @@ -34,6 +34,7 @@ #include "Macro.h" #include <QByteArray> +#include <QFileInfo> #include <QList> #include <QMap> #include <QSharedPointer> @@ -199,6 +200,9 @@ public: unsigned line() const { return _line; } + + bool resolved() const + { return QFileInfo(_fileName).isAbsolute(); } }; class MacroUse: public Block { diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index fea6fd3ed8d..dc043246688 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -605,7 +605,7 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor, // Handle include directives const unsigned lineno = cursor.blockNumber() + 1; foreach (const Document::Include &incl, doc->includes()) { - if (incl.line() == lineno) { + if (incl.line() == lineno && incl.resolved()) { link.fileName = incl.fileName(); link.pos = cursor.block().position(); link.length = cursor.block().length(); -- GitLab