[vlc-devel] commit: Fix logic (Christophe Mutricy )

git version control git at videolan.org
Sun Jan 18 20:29:02 CET 2009


vlc | branch: master | Christophe Mutricy <xtophe at videolan.org> | Sun Jan 18 17:58:56 2009 +0000| [af7d00505e986d331a737412260b80ed9a3de579] | committer: Christophe Mutricy 

Fix logic

And unhibit before quiting

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=af7d00505e986d331a737412260b80ed9a3de579
---

 modules/misc/inhibit.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/modules/misc/inhibit.c b/modules/misc/inhibit.c
index e9aeba2..f0da45a 100644
--- a/modules/misc/inhibit.c
+++ b/modules/misc/inhibit.c
@@ -53,6 +53,9 @@ static void Deactivate   ( vlc_object_t * );
 
 static void Run          ( intf_thread_t *p_intf );
 
+static int Inhibit( intf_thread_t *p_intf );
+static int UnInhibit( intf_thread_t *p_intf );
+
 struct intf_sys_t
 {
     DBusConnection  *p_conn;
@@ -103,6 +106,9 @@ static int Activate( vlc_object_t *p_this )
 static void Deactivate( vlc_object_t *p_this )
 {
     intf_thread_t *p_intf = (intf_thread_t*)p_this;
+    if( p_intf->p_sys->i_cookie )
+        UnInhibit( p_intf );
+
     dbus_connection_unref( p_intf->p_sys->p_conn );
     free( p_intf->p_sys );
 }
@@ -232,10 +238,13 @@ static void Run( intf_thread_t *p_intf )
             const int i_state = var_GetInteger( p_input, "state" );
             vlc_object_release( p_input );
 
-            if( PLAYING_S == i_state && !p_intf->p_sys->i_cookie )
+            if( PLAYING_S == i_state )
             {
-                if( !Inhibit( p_intf ) )
-                    break;
+               if( !p_intf->p_sys->i_cookie )
+               {
+                   if( !Inhibit( p_intf ) )
+                       break;
+               }
             }
             else if( p_intf->p_sys->i_cookie )
             {




More information about the vlc-devel mailing list