From 36d013c2a170699e957cde8e65d161714cbd16cb Mon Sep 17 00:00:00 2001 From: lilo_booter Date: Thu, 23 Sep 2004 14:23:21 +0000 Subject: [PATCH] get_frame and ruby listen fix git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt++@438 d19143bc-622f-0410-bfdd-b5b2a6649095 --- mlt++/src/MltService.cpp | 4 +++- mlt++/swig/mltpp.i | 6 ++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mlt++/src/MltService.cpp b/mlt++/src/MltService.cpp index 6e06ed2..b20b6b1 100644 --- a/mlt++/src/MltService.cpp +++ b/mlt++/src/MltService.cpp @@ -77,7 +77,9 @@ Frame *Service::get_frame( int index ) { mlt_frame frame = NULL; mlt_service_get_frame( get_service( ), &frame, index ); - return new Frame( frame ); + Frame *result = new Frame( frame ); + mlt_frame_close( frame ); + return result; } service_type Service::type( ) diff --git a/mlt++/swig/mltpp.i b/mlt++/swig/mltpp.i index bc38fa9..d663398 100644 --- a/mlt++/swig/mltpp.i +++ b/mlt++/swig/mltpp.i @@ -81,6 +81,7 @@ static void ruby_listener( mlt_properties owner, void *object ); class RubyListener { private: + VALUE callback; Mlt::Event *event; public: @@ -90,7 +91,7 @@ class RubyListener event = properties.listen( id, this, ( mlt_listener )ruby_listener ); } - ~RubyList( ) + ~RubyListener( ) { delete event; } @@ -105,9 +106,6 @@ class RubyListener ID method = rb_intern( "call" ); rb_funcall( callback, method, 0 ); } - - private: - VALUE callback; }; static void ruby_listener( mlt_properties owner, void *object ) -- 1.7.4.4