From 24b01a8e4f9c505903bc761b118f496ae01bb332 Mon Sep 17 00:00:00 2001
From: Vadim Pisarevsky <vadim.pisarevsky@gmail.com>
Date: Sun, 3 Aug 2014 21:21:11 +0400
Subject: [PATCH] continuing to debug boost and fix MSVC compile errors

---
 modules/ml/include/opencv2/ml.hpp | 6 +++---
 modules/ml/src/rtrees.cpp         | 1 -
 modules/ml/src/tree.cpp           | 1 +
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/ml/include/opencv2/ml.hpp b/modules/ml/include/opencv2/ml.hpp
index f642f1f62c..a5ce3010bf 100644
--- a/modules/ml/include/opencv2/ml.hpp
+++ b/modules/ml/include/opencv2/ml.hpp
@@ -496,7 +496,7 @@ public:
 *                                   Gradient Boosted Trees                               *
 \****************************************************************************************/
 
-class CV_EXPORTS_W GBTrees : public DTrees
+/*class CV_EXPORTS_W GBTrees : public DTrees
 {
 public:
     struct CV_EXPORTS_W_MAP Params : public DTrees::Params
@@ -516,10 +516,10 @@ public:
     virtual void setK(int k) = 0;
 
     virtual float predictSerial( InputArray samples,
-                                 OutputArray weakResponses, int flags) const;
+                                 OutputArray weakResponses, int flags) const = 0;
 
     static Ptr<GBTrees> create(const Params& p);
-};
+};*/
 
 /****************************************************************************************\
 *                              Artificial Neural Networks (ANN)                          *
diff --git a/modules/ml/src/rtrees.cpp b/modules/ml/src/rtrees.cpp
index abae817b5f..7c9cbaf268 100644
--- a/modules/ml/src/rtrees.cpp
+++ b/modules/ml/src/rtrees.cpp
@@ -280,7 +280,6 @@ public:
             if( calcOOBError && oobError < eps )
                 break;
         }
-        printf("done!\n");
 
         if( rparams.calcVarImportance )
         {
diff --git a/modules/ml/src/tree.cpp b/modules/ml/src/tree.cpp
index a75f4bab79..f931d0f1f4 100644
--- a/modules/ml/src/tree.cpp
+++ b/modules/ml/src/tree.cpp
@@ -452,6 +452,7 @@ int DTreesImpl::addNodeAndTrySplit( int parent, const vector<int>& sidx )
 
         w->wnodes[nidx].left = addNodeAndTrySplit( nidx, sleft );
         w->wnodes[nidx].right = addNodeAndTrySplit( nidx, sright );
+        CV_Assert( w->wnodes[nidx].left > 0 && w->wnodes[nidx].right > 0 );
     }
 
     return nidx;