From: Dan Dennedy Date: Sun, 12 Jan 2014 22:08:46 +0000 (-0800) Subject: Fix crash in glDeleteSync() called on wrong thread. X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=ce7ed2b7affdf682a2e5fc8916a0a3e749facd74;p=mlt Fix crash in glDeleteSync() called on wrong thread. The app must delete the GLsync, which can more easily result in leaks. :-\ --- diff --git a/src/modules/opengl/filter_glsl_manager.cpp b/src/modules/opengl/filter_glsl_manager.cpp index 68ef63dc..72ca55af 100644 --- a/src/modules/opengl/filter_glsl_manager.cpp +++ b/src/modules/opengl/filter_glsl_manager.cpp @@ -198,11 +198,6 @@ void GlslManager::release_texture(glsl_texture texture) texture->used = 0; } -void GlslManager::delete_sync(GLsync sync) -{ - glDeleteSync(sync); -} - glsl_pbo GlslManager::get_pbo(int size) { lock(); @@ -438,8 +433,7 @@ int GlslManager::render_frame_texture(mlt_service service, mlt_frame frame, int mlt_frame_set_image( frame, *image, 0, NULL ); mlt_properties_set_data( MLT_FRAME_PROPERTIES(frame), "movit.convert.texture", texture, 0, (mlt_destructor) GlslManager::release_texture, NULL ); - mlt_properties_set_data( MLT_FRAME_PROPERTIES(frame), "movit.convert.fence", sync, 0, - (mlt_destructor) GlslManager::delete_sync, NULL ); + mlt_properties_set_data( MLT_FRAME_PROPERTIES(frame), "movit.convert.fence", sync, 0, NULL, NULL ); return 0; }