1
0
Fork 0
mirror of https://github.com/ruby-opencv/ruby-opencv synced 2023-03-27 23:22:12 -04:00

added error handlings to some functions

This commit is contained in:
ser1zw 2011-08-12 15:59:58 +09:00
parent 52b2b918e5
commit 2ed20191e3
2 changed files with 24 additions and 4 deletions

View file

@ -48,8 +48,13 @@ rb_allocate(VALUE klass)
void void
cvmemstorage_free(void *ptr) cvmemstorage_free(void *ptr)
{ {
try {
cvReleaseMemStorage((CvMemStorage**)&ptr); cvReleaseMemStorage((CvMemStorage**)&ptr);
} }
catch (cv::Exception& e) {
raise_cverror(e);
}
}
VALUE VALUE
new_object(int blocksize) new_object(int blocksize)

View file

@ -101,8 +101,13 @@ free_object(void *ptr)
{ {
if (ptr) { if (ptr) {
unregister_object(ptr); unregister_object(ptr);
try {
cvFree(&ptr); cvFree(&ptr);
} }
catch (cv::Exception& e) {
raise_cverror(e);
}
}
} }
/* /*
@ -113,8 +118,13 @@ release_object(void *ptr)
{ {
if (ptr) { if (ptr) {
unregister_object(ptr); unregister_object(ptr);
try {
cvRelease(&ptr); cvRelease(&ptr);
} }
catch (cv::Exception& e) {
raise_cverror(e);
}
}
} }
/* /*
@ -125,8 +135,13 @@ release_iplconvkernel_object(void *ptr)
{ {
if (ptr) { if (ptr) {
unregister_object(ptr); unregister_object(ptr);
try {
cvReleaseStructuringElement((IplConvKernel**)(&ptr)); cvReleaseStructuringElement((IplConvKernel**)(&ptr));
} }
catch (cv::Exception& e) {
raise_cverror(e);
}
}
} }
VALUE rb_module; VALUE rb_module;