diff --git a/ext/opencv/facerecognizer.cpp b/ext/opencv/facerecognizer.cpp index d52a448..883b015 100644 --- a/ext/opencv/facerecognizer.cpp +++ b/ext/opencv/facerecognizer.cpp @@ -18,20 +18,19 @@ __NAMESPACE_BEGIN_FACERECOGNIZER VALUE rb_klass; -std::map< long, cv::Ptr > ptr_guard_map; +std::map > ptr_guard_map; void guard_facerecognizer(void* data_ptr, cv::Ptr ptr) { - ptr_guard_map[(long)data_ptr] = ptr; + ptr_guard_map[data_ptr] = ptr; } void -release_facerecognizer(void *ptr) +release_facerecognizer(void *data_ptr) { - long key = (long)ptr; - ptr_guard_map[key].release(); - ptr_guard_map.erase(key); + ptr_guard_map[data_ptr].release(); + ptr_guard_map.erase(data_ptr); } VALUE diff --git a/ext/opencv/facerecognizer.h b/ext/opencv/facerecognizer.h index e662b9b..7ea403a 100644 --- a/ext/opencv/facerecognizer.h +++ b/ext/opencv/facerecognizer.h @@ -27,7 +27,7 @@ VALUE rb_save(VALUE self, VALUE filename); VALUE rb_load(VALUE self, VALUE filename); void guard_facerecognizer(void* data_ptr, cv::Ptr ptr); -void release_facerecognizer(void *ptr); +void release_facerecognizer(void *data_ptr); VALUE allocate_facerecognizer(VALUE klass); __NAMESPACE_END_FACERECOGNIZER