]> git.sesse.net Git - mlt/commitdiff
Fix crash when stopping xgl consumer.
authorDan Dennedy <dan@dennedy.org>
Thu, 21 Feb 2013 05:09:12 +0000 (21:09 -0800)
committerDan Dennedy <dan@dennedy.org>
Thu, 21 Feb 2013 05:09:12 +0000 (21:09 -0800)
src/modules/opengl/consumer_xgl.c

index 49230d5593d97d340a9b51b99388c0896c5a5517..0cd6bc4144cf65b973e234f22a3b88777806b0ee 100644 (file)
@@ -509,14 +509,14 @@ void start_xgl( consumer_xgl consumer )
        new_frame.mlt_frame_ref = NULL;
        
        vthread.running = 0;
-       
+       xgl->xgl_started = 1;
+
        createGLWindow();
        run();
        if ( vthread.running ) {
                vthread.running = 0;
                pthread_join( vthread.thread, NULL );
        }
-       killGLWindow();
        xgl->running = 0;
 }
 
@@ -682,6 +682,9 @@ static void consumer_close( mlt_consumer parent )
        // Close the queue
        mlt_deque_close( this->queue );
 
+       if ( this->xgl_started )
+               killGLWindow();
+
        // Finally clean up this
        free( this );
 }