From 411f8ba9dad7e7e3ecf73496f270dc95f4d7d316 Mon Sep 17 00:00:00 2001 From: ser1zw Date: Sat, 1 Jan 2011 17:32:38 +0900 Subject: [PATCH] fixed VALUE_TO_CVSCALAR in cvscalar.h to allow double values fixed the following problem [#27088] VALUE_TO_CVSCALAR wont allow float or double value http://rubyforge.org/tracker/index.php?func=detail&aid=27088&group_id=1066&atid=4198 --- ext/cvscalar.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/cvscalar.h b/ext/cvscalar.h index 381448a..00986a2 100644 --- a/ext/cvscalar.h +++ b/ext/cvscalar.h @@ -52,10 +52,10 @@ VALUE_TO_CVSCALAR(VALUE object) { if(FIXNUM_P(object)) return cvScalarAll(FIX2INT(object)); - return cvScalar(NUM2INT(rb_funcall(object, rb_intern("[]"), 1, INT2FIX(0))), - NUM2INT(rb_funcall(object, rb_intern("[]"), 1, INT2FIX(1))), - NUM2INT(rb_funcall(object, rb_intern("[]"), 1, INT2FIX(2))), - NUM2INT(rb_funcall(object, rb_intern("[]"), 1, INT2FIX(3)))); + return cvScalar(NUM2DBL(rb_funcall(object, rb_intern("[]"), 1, INT2FIX(0))), + NUM2DBL(rb_funcall(object, rb_intern("[]"), 1, INT2FIX(1))), + NUM2DBL(rb_funcall(object, rb_intern("[]"), 1, INT2FIX(2))), + NUM2DBL(rb_funcall(object, rb_intern("[]"), 1, INT2FIX(3)))); } __NAMESPACE_END_OPENCV