From ce7ed2b7affdf682a2e5fc8916a0a3e749facd74 Mon Sep 17 00:00:00 2001 From: Dan Dennedy Date: Sun, 12 Jan 2014 14:08:46 -0800 Subject: [PATCH] Fix crash in glDeleteSync() called on wrong thread. The app must delete the GLsync, which can more easily result in leaks. :-\ --- src/modules/opengl/filter_glsl_manager.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) 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; } -- 2.39.5