From 01f40cfafc8c036fdd108a9dfddc04c1b037f78c Mon Sep 17 00:00:00 2001
From: Dan <dtmoodie>
Date: Tue, 10 Nov 2015 12:29:29 -0500
Subject: [PATCH] Corrected the case where channel == -1

---
 .../tutorial_code/gpu/gpu-thrust-interop/Thrust_interop.hpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/Thrust_interop.hpp b/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/Thrust_interop.hpp
index 4f44d51ce8..7e880b88eb 100644
--- a/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/Thrust_interop.hpp
+++ b/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/Thrust_interop.hpp
@@ -42,7 +42,10 @@ template<typename T>
 thrust::permutation_iterator<thrust::device_ptr<T>, thrust::transform_iterator<step_functor<T>, thrust::counting_iterator<int>>>  GpuMatBeginItr(cv::cuda::GpuMat mat, int channel = 0)
 {
     if (channel == -1)
+    {
         mat = mat.reshape(1);
+        channel = 0;
+    }
     CV_Assert(mat.depth() == cv::DataType<T>::depth);
     CV_Assert(channel < mat.channels());
     return thrust::make_permutation_iterator(thrust::device_pointer_cast(mat.ptr<T>(0) + channel),
@@ -59,7 +62,10 @@ template<typename T>
 thrust::permutation_iterator<thrust::device_ptr<T>, thrust::transform_iterator<step_functor<T>, thrust::counting_iterator<int>>>  GpuMatEndItr(cv::cuda::GpuMat mat, int channel = 0)
 {
     if (channel == -1)
+    {
         mat = mat.reshape(1);
+        channel = 0;
+    }
     CV_Assert(mat.depth() == cv::DataType<T>::depth);
     CV_Assert(channel < mat.channels());
     return thrust::make_permutation_iterator(thrust::device_pointer_cast(mat.ptr<T>(0) + channel),