diff --git a/modules/core/src/ocl.cpp b/modules/core/src/ocl.cpp index 7201fca71..1a2714d05 100644 --- a/modules/core/src/ocl.cpp +++ b/modules/core/src/ocl.cpp @@ -3673,6 +3673,7 @@ struct PlatformInfo2::Impl { Impl(void* id) { + refcount = 1; handle = *(cl_platform_id*)id; getDevices(devices, handle); } @@ -3713,7 +3714,7 @@ int PlatformInfo2::deviceNumber() const void PlatformInfo2::getDevice(Device& device, int d) const { - CV_Assert(d < (int)p->devices.size() ); + CV_Assert(p && d < (int)p->devices.size() ); if(p) device.set(p->devices[d]); } diff --git a/modules/imgproc/src/filter.cpp b/modules/imgproc/src/filter.cpp index 8c11c62db..d644f2348 100644 --- a/modules/imgproc/src/filter.cpp +++ b/modules/imgproc/src/filter.cpp @@ -3508,7 +3508,7 @@ static bool ocl_sepFilter2D( InputArray _src, OutputArray _dst, int ddepth, int type = _src.type(); if ( !( (CV_8UC1 == type || CV_8UC4 == type || CV_32FC1 == type || CV_32FC4 == type) && - (ddepth == CV_32F || ddepth == CV_8U) ) ) + (ddepth == CV_32F || ddepth == CV_8U || ddepth < 0) ) ) return false; int cn = CV_MAT_CN(type); diff --git a/modules/java/generator/gen_java.py b/modules/java/generator/gen_java.py index 23ed3a9a1..cce270828 100755 --- a/modules/java/generator/gen_java.py +++ b/modules/java/generator/gen_java.py @@ -398,7 +398,7 @@ JNIEXPORT jdoubleArray JNICALL Java_org_opencv_core_Core_n_1minMaxLocManual return result; - } catch(cv::Exception e) { + } catch(const cv::Exception& e) { LOGD("Core::n_1minMaxLoc() catched cv::Exception: %s", e.what()); jclass je = env->FindClass("org/opencv/core/CvException"); if(!je) je = env->FindClass("java/lang/Exception"); @@ -471,7 +471,7 @@ JNIEXPORT jdoubleArray JNICALL Java_org_opencv_core_Core_n_1getTextSize return result; - } catch(cv::Exception e) { + } catch(const cv::Exception& e) { LOGD("Core::n_1getTextSize() catched cv::Exception: %s", e.what()); jclass je = env->FindClass("org/opencv/core/CvException"); if(!je) je = env->FindClass("java/lang/Exception"); diff --git a/modules/java/generator/src/cpp/Mat.cpp b/modules/java/generator/src/cpp/Mat.cpp index b3b0f66e7..185cb2de9 100644 --- a/modules/java/generator/src/cpp/Mat.cpp +++ b/modules/java/generator/src/cpp/Mat.cpp @@ -467,7 +467,7 @@ JNIEXPORT jint JNICALL Java_org_opencv_core_Mat_n_1dims LOGD("%s", method_name); Mat* me = (Mat*) self; //TODO: check for NULL return me->dims; - } catch(cv::Exception e) { + } catch(const cv::Exception& e) { throwJavaException(env, &e, method_name); } catch (...) { throwJavaException(env, 0, method_name); diff --git a/modules/java/generator/src/cpp/utils.cpp b/modules/java/generator/src/cpp/utils.cpp index 40811e8f9..2d409c863 100644 --- a/modules/java/generator/src/cpp/utils.cpp +++ b/modules/java/generator/src/cpp/utils.cpp @@ -48,7 +48,7 @@ JNIEXPORT void JNICALL Java_org_opencv_android_Utils_nBitmapToMat2 } AndroidBitmap_unlockPixels(env, bitmap); return; - } catch(cv::Exception e) { + } catch(const cv::Exception& e) { AndroidBitmap_unlockPixels(env, bitmap); LOGE("nBitmapToMat catched cv::Exception: %s", e.what()); jclass je = env->FindClass("org/opencv/core/CvException"); @@ -130,7 +130,7 @@ JNIEXPORT void JNICALL Java_org_opencv_android_Utils_nMatToBitmap2 } AndroidBitmap_unlockPixels(env, bitmap); return; - } catch(cv::Exception e) { + } catch(const cv::Exception& e) { AndroidBitmap_unlockPixels(env, bitmap); LOGE("nMatToBitmap catched cv::Exception: %s", e.what()); jclass je = env->FindClass("org/opencv/core/CvException");