]> git.sesse.net Git - vlc/blobdiff - modules/lua/extension_thread.c
src: simplify and inline pl_Get()
[vlc] / modules / lua / extension_thread.c
index 2b5fe5a80127eab1fcbeb903fcb199be908c49fa..6cf285eee150c9282a08bad7247f8bbd0064cbca 100644 (file)
@@ -320,8 +320,8 @@ static void* Run( void *data )
     extension_t *p_ext = data;
     extensions_manager_t *p_mgr = p_ext->p_sys->p_mgr;
 
-    int cancel = vlc_savecancel();
     vlc_mutex_lock( &p_ext->p_sys->command_lock );
+    mutex_cleanup_push( &p_ext->p_sys->command_lock );
 
     while( !p_ext->p_sys->b_exiting )
     {
@@ -337,12 +337,11 @@ static void* Run( void *data )
         cmd->next = NULL; /* unlink command (for FreeCommands()) */
 
         vlc_mutex_unlock( &p_ext->p_sys->command_lock );
-        vlc_restorecancel( cancel );
 
         /* Run command */
+        int cancel = vlc_savecancel();
         if( LockExtension( p_ext ) )
         {
-            mutex_cleanup_push( &p_ext->p_sys->running_lock );
             switch( cmd->i_command )
             {
                 case CMD_ACTIVATE:
@@ -380,8 +379,7 @@ static void* Run( void *data )
                     assert( p_widget );
                     msg_Dbg( p_mgr, "Clicking '%s': '%s'",
                              p_ext->psz_name, p_widget->psz_text );
-                    if( !lua_ExtensionWidgetClick( p_mgr, p_ext, p_widget )
-                        < 0 )
+                    if( lua_ExtensionWidgetClick( p_mgr, p_ext, p_widget ) < 0 )
                     {
                         msg_Warn( p_mgr, "Could not translate click" );
                     }
@@ -424,18 +422,16 @@ static void* Run( void *data )
                     break;
                 }
             }
-            vlc_cleanup_pop();
             UnlockExtension( p_ext );
         }
         FreeCommands( cmd );
 
-        cancel = vlc_savecancel();
+        vlc_restorecancel( cancel );
         vlc_mutex_lock( &p_ext->p_sys->command_lock );
     }
 
-    vlc_mutex_unlock( &p_ext->p_sys->command_lock );
+    vlc_cleanup_run( );
     msg_Dbg( p_mgr, "Extension thread end: '%s'", p_ext->psz_title );
-    vlc_restorecancel( cancel );
 
     // Note: At this point, the extension should be deactivated
     return NULL;