[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdevelop/languages/cpp/cppduchain
From:       David Nolden <david.nolden.kde () art-master ! de>
Date:       2008-03-31 20:08:22
Message-ID: 1206994102.318493.31501.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 792306 by zwabel:

Prevent a crash while updating



 M  +4 -1      declarationbuilder.cpp  


--- trunk/KDE/kdevelop/languages/cpp/cppduchain/declarationbuilder.cpp #792305:792306
@@ -437,6 +437,8 @@
              hasTemplateContext(m_importedParentContexts) && dynamic_cast<TemplateDeclaration*>(dec) ) )
          )
       {
+        if(currentContext()->type() == DUContext::Class && !dynamic_cast<ClassMemberDeclaration*>(dec))
+          continue;
         if(isNamespaceAlias && !dynamic_cast<NamespaceAliasDeclaration*>(dec)) {
           continue;
         } else if (isForward && !dynamic_cast<ForwardDeclaration*>(dec)) {
@@ -459,7 +461,8 @@
 
         // Update access policy if needed
         if (currentContext()->type() == DUContext::Class) {
-          ClassMemberDeclaration* classDeclaration = static_cast<ClassMemberDeclaration*>(declaration);
+          ClassMemberDeclaration* classDeclaration = dynamic_cast<ClassMemberDeclaration*>(declaration);
+          Q_ASSERT(classDeclaration);
           if (classDeclaration->accessPolicy() != currentAccessPolicy()) {
             classDeclaration->setAccessPolicy(currentAccessPolicy());
           }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic