chengxr 1 yıl önce
ebeveyn
işleme
dfc72dbd16
1 değiştirilmiş dosya ile 10 ekleme ve 6 silme
  1. 10 6
      QFD/CCanvas/CMind.cpp

+ 10 - 6
QFD/CCanvas/CMind.cpp

@@ -223,12 +223,15 @@ QList<CNodeData> CMind::subNodes(CNodeData n) const
 
 int CMind::leavesCountOfNode(CNodeData n) const
 {
-    int d = 1;
-    if (subNodes(n).count() > 0) {
-        d = 0;
-        for (CNodeData sub : subNodes(n)) {
+    int d = 0;
+
+    QList<CNodeData> list = subNodes(n);
+    if (list.count() > 0) {
+        for (CNodeData sub : list) {
             d += leavesCountOfNode(sub);
         }
+    } else {
+        d++;
     }
 
     return d;
@@ -243,8 +246,9 @@ QList<CNodeData> CMind::leavesOfNode(CNodeData n) const
 {
     QList<CNodeData> list;
 
-    if (subNodes(n).count() > 0) {
-        for (CNodeData sub : subNodes(n)) {
+    QList<CNodeData> subList = subNodes(n);
+    if (subList.count() > 0) {
+        for (CNodeData sub : subList) {
             list.append(leavesOfNode(sub));
         }
     } else {