From c2f231750740a645ec7f17e60c3e662a3df76b42 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Mon, 10 May 2010 16:21:12 +0200
Subject: [PATCH] Check for valid translation units.

---
 src/shared/cplusplus/Symbol.cpp | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp
index fa2d00f3162..63672f13c00 100644
--- a/src/shared/cplusplus/Symbol.cpp
+++ b/src/shared/cplusplus/Symbol.cpp
@@ -209,18 +209,17 @@ void Symbol::setDeprecated(bool isDeprecated)
 void Symbol::setSourceLocation(unsigned sourceLocation, TranslationUnit *translationUnit)
 {
     _sourceLocation = sourceLocation;
-    unsigned offset = 0;
 
-    if (! _sourceLocation) {
-        _isGenerated = false;
-
-    } else {
+    if (translationUnit) {
         const Token &tk = translationUnit->tokenAt(sourceLocation);
         _isGenerated = tk.f.generated;
-        offset = tk.offset;
+        translationUnit->getPosition(tk.offset, &_line, &_column, &_fileId);
+    } else {
+        _isGenerated = false;
+        _line = 0;
+        _column = 0;
+        _fileId = 0;
     }
-
-    translationUnit->getPosition(offset, &_line, &_column, &_fileId);
 }
 
 unsigned Symbol::line() const
-- 
GitLab