]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins2/commands/cmd_callbacks.hpp
Move MODULE_* predefined constants from vlc-config to Makefile
[vlc] / modules / gui / skins2 / commands / cmd_callbacks.hpp
index 32ba450ff48754572d675bae92f9944a0577c631..e3f3cfb0395c9dbbe3b1e509ad83d47951202d1d 100644 (file)
@@ -36,7 +36,7 @@ public:
                  void (VlcProc::*func)(vlc_object_t *,vlc_value_t),
                  string label )
         : CmdGeneric( pIntf ), m_pObj( pObj ), m_newVal( newVal ),
-          m_pfExecute( func ), m_label( label )
+          m_label( label ), m_pfExecute( func )
     {
         if( m_pObj )
             vlc_object_hold( m_pObj );
@@ -91,12 +91,11 @@ public:
     static void executeWait( const CmdGenericPtr& rcCommand  )
     {
         CmdExecuteBlock& rCmd = (CmdExecuteBlock&)*rcCommand.get();
-        vlc_mutex_lock( &rCmd.m_lock );
+        vlc_mutex_locker locker( &rCmd.m_lock );
 
         if( !rCmd.m_pObj || !rCmd.m_pfFunc || rCmd.m_executing )
         {
             msg_Err( rCmd.getIntf(), "unexpected command call" );
-            vlc_mutex_unlock( &rCmd.m_lock );
             return;
         }
 
@@ -106,25 +105,21 @@ public:
         rCmd.m_executing = true;
         while( rCmd.m_executing )
             vlc_cond_wait( &rCmd.m_wait, &rCmd.m_lock );
-
-        vlc_mutex_unlock( &rCmd.m_lock );
     }
 
     virtual void execute()
     {
-        vlc_mutex_lock( &m_lock );
+        vlc_mutex_locker locker( &m_lock );
 
         if( !m_pObj || !m_pfFunc || !m_executing )
         {
             msg_Err( getIntf(), "unexpected command call" );
-            vlc_mutex_unlock( &m_lock );
             return;
         }
 
         (*m_pfFunc)( getIntf(), m_pObj );
         m_executing = false;
         vlc_cond_signal( &m_wait );
-        vlc_mutex_unlock( &m_lock );
     }
 
     virtual string getType() const { return "CmdExecuteBlock"; }