diff options
author | Vanessa Chipirrás Navalón <vchipirras6@gmail.com> | 2015-08-17 18:02:28 +0200 |
---|---|---|
committer | Luis de Bethencourt <luis@debethencourt.com> | 2015-08-18 13:32:54 +0100 |
commit | fc03a17430d7fec3501d703961f318a2b0068f08 (patch) | |
tree | ab0da75cea66c5029387297b36c415831ecc007f | |
parent | 00a55d1a6915b21db58e481ed48c10afbcd0e675 (diff) | |
download | gstreamer-plugins-bad-fc03a17430d7fec3501d703961f318a2b0068f08.tar.gz |
handdetect: check CvHaarClassifierCascade is release before being modified.
Make sure a previous cascade, if it exists, is released before loading a
new XML file onto it.
https://bugzilla.gnome.org/show_bug.cgi?id=752528
-rw-r--r-- | ext/opencv/gsthanddetect.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/opencv/gsthanddetect.c b/ext/opencv/gsthanddetect.c index 1ea247af3..f06b0c262 100644 --- a/ext/opencv/gsthanddetect.c +++ b/ext/opencv/gsthanddetect.c @@ -289,12 +289,16 @@ gst_handdetect_set_property (GObject * object, guint prop_id, switch (prop_id) { case PROP_PROFILE_FIST: g_free (filter->profile_fist); + if (filter->cvCascade_fist) + cvReleaseHaarClassifierCascade (&filter->cvCascade_fist); filter->profile_fist = g_value_dup_string (value); filter->cvCascade_fist = gst_handdetect_load_profile (filter, filter->profile_fist); break; case PROP_PROFILE_PALM: g_free (filter->profile_palm); + if (filter->cvCascade_palm) + cvReleaseHaarClassifierCascade (&filter->cvCascade_palm); filter->profile_palm = g_value_dup_string (value); filter->cvCascade_palm = gst_handdetect_load_profile (filter, filter->profile_palm); |