From: Jean-Philippe André Date: Wed, 5 May 2010 13:27:52 +0000 (+0800) Subject: Extensions: fix vlc.deactivate() malfunction X-Git-Tag: 1.2.0-pre1~6752 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=0a15eecff314dc9f9cb8b9e6d89d1b338dd54948;p=vlc Extensions: fix vlc.deactivate() malfunction Inspired by jetru's patches, thank you. This should fix #3451 --- diff --git a/modules/misc/lua/extension_thread.c b/modules/misc/lua/extension_thread.c index 9df6bbd18f..78a260872c 100644 --- a/modules/misc/lua/extension_thread.c +++ b/modules/misc/lua/extension_thread.c @@ -146,12 +146,16 @@ int Deactivate( extensions_manager_t *p_mgr, extension_t *p_ext ) } /* Free the list of commands */ - FreeCommands( p_ext->p_sys->command ); + if( p_ext->p_sys->command ) + FreeCommands( p_ext->p_sys->command->next ); /* Push command */ struct command_t *cmd = calloc( 1, sizeof( struct command_t ) ); cmd->i_command = CMD_DEACTIVATE; - p_ext->p_sys->command = cmd; + if( p_ext->p_sys->command ) + p_ext->p_sys->command->next = cmd; + else + p_ext->p_sys->command = cmd; vlc_cond_signal( &p_ext->p_sys->wait ); vlc_mutex_unlock( &p_ext->p_sys->command_lock );