--- languages/cpp/codecompletion/context.cpp.orig	2012-04-14 04:54:26.000000000 +0900
+++ languages/cpp/codecompletion/context.cpp	2012-06-08 21:43:34.000000000 +0900
@@ -1107,8 +1107,8 @@
     QList< Declaration* > decls = m_duContext->findDeclarations(QualifiedIdentifier(m_expression)); ///@todo respect position
 
     // qlist does not provide convenient stable iterators
-    std::list<Declaration*> worklist(decls.begin(), decls.end());
-    for (std::list<Declaration*>::iterator it = worklist.begin(); it != worklist.end(); ++it) {
+    // std::list<Declaration*> worklist(decls.begin(), decls.end());
+    for (QList<Declaration*>::iterator it = decls.begin(); it != decls.end(); ++it) {
       Declaration * decl = *it;
       if((decl->kind() == Declaration::Namespace || dynamic_cast<ClassDeclaration*>(decl))  && decl->internalContext())
         ret.insert(decl->internalContext());
@@ -1117,7 +1117,7 @@
         if (aliasDecl) {
           QList<Declaration*> importedDecls = m_duContext->findDeclarations(aliasDecl->importIdentifier()); ///@todo respect position
           std::copy(importedDecls.begin(), importedDecls.end(),
-                    std::back_inserter(worklist));
+                    std::back_inserter(decls));
         }
       }
     }