From a2b518412307a03addcd63ccd6b9bce4eacdd4a7 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Mon, 26 Oct 2009 13:45:01 +0100
Subject: [PATCH] Activate the completion only when the canonical symbol has a
 valid name.

---
 src/plugins/cppeditor/cppeditor.cpp        | 13 ++++++++-----
 src/plugins/cpptools/cppfindreferences.cpp |  3 +++
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index d96a3f50087..e323ff0651a 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -762,10 +762,6 @@ void CPPEditor::findUsages()
 
 void CPPEditor::renameUsages()
 {
-    Core::EditorManager::instance()->showEditorInfoBar(QLatin1String("CppEditor.Rename"),
-                                                       tr("This change cannot be undone."),
-                                                       tr("Yes, I know what I am doing."),
-                                                       this, SLOT(hideRenameNotification()));
     renameUsagesNow();
 }
 
@@ -777,7 +773,14 @@ void CPPEditor::hideRenameNotification()
 void CPPEditor::renameUsagesNow()
 {
     if (Symbol *canonicalSymbol = markSymbols()) {
-        m_modelManager->renameUsages(canonicalSymbol);
+        if (canonicalSymbol->identifier() != 0) {
+            Core::EditorManager::instance()->showEditorInfoBar(QLatin1String("CppEditor.Rename"),
+                                                               tr("This change cannot be undone."),
+                                                               tr("Yes, I know what I am doing."),
+                                                               this, SLOT(hideRenameNotification()));
+
+            m_modelManager->renameUsages(canonicalSymbol);
+        }
     }
 }
 
diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index eb90a186786..06ae9790602 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -656,6 +656,9 @@ void CppFindReferences::renameUsages(Symbol *symbol)
 
 void CppFindReferences::findAll_helper(Symbol *symbol)
 {
+    if (! (symbol && symbol->identifier()))
+        return;
+
     _resultWindow->popup(true);
 
     const Snapshot snapshot = _modelManager->snapshot();
-- 
GitLab