File nested_classes.diff of Package swig

--- ./Source/CParse/parser.c.orig	2014-08-26 12:24:53.381788068 +0000
+++ ./Source/CParse/parser.c	2014-08-26 12:36:45.700287073 +0000
@@ -1065,7 +1065,7 @@ static Node *nested_forward_declaration(
     }
   }
 
-  if (!GetFlag(currentOuterClass, "nested")) {
+  if (!currentOuterClass || !GetFlag(currentOuterClass, "nested")) {
     if (nn && Equal(nodeType(nn), "classforward")) {
       Node *n = nn;
       SWIG_WARN_NODE_BEGIN(n);
@@ -7562,6 +7562,8 @@ yyreduce:
 		   } else if (nscope_inner) {
 		     /* this is tricky */
 		     /* we add the declaration in the original namespace */
+		     if (Strcmp(nodeType(nscope_inner), "class") == 0 && cparse_cplusplus && ignore_nested_classes && !GetFlag((yyval.node), "feature:flatnested"))
+		       (yyval.node) = nested_forward_declaration((yyvsp[(1) - (9)].id), (yyvsp[(2) - (9)].id), (yyvsp[(3) - (9)].str), Copy((yyvsp[(3) - (9)].str)), (yyvsp[(9) - (9)].node));
 		     appendChild(nscope_inner, (yyval.node));
 		     Swig_symbol_setscope(Getattr(nscope_inner, "symtab"));
 		     Delete(Namespaceprefix);
openSUSE Build Service is sponsored by