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

git version control git at videolan.org
Mon Jan 19 22:19:48 CET 2009


vlc | branch: 0.9-bugfix | Christophe Mutricy <xtophe at videolan.org> | Sun Jan 18 17:58:56 2009 +0000| [7ad3e457f944cc79f3157113f4cab0413af16538] | committer: Christophe Mutricy 

Fix logic

And unhibit before quiting
(cherry picked from commit af7d00505e986d331a737412260b80ed9a3de579)

Signed-off-by: Christophe Mutricy <xtophe at videolan.org>

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

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

diff --git a/modules/misc/inhibit.c b/modules/misc/inhibit.c
index b2c590f..d21c317 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;
@@ -106,6 +109,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 );
 }
@@ -237,13 +243,16 @@ static void Run( intf_thread_t *p_intf )
         p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE );
         if( p_input )
         {
-            if( PLAYING_S == p_input->i_state && !p_intf->p_sys->i_cookie )
+            if( PLAYING_S == i_state )
             {
-                if( !Inhibit( p_intf ) )
-                {
-                    vlc_object_release( p_input );
-                    goto end;
-                }
+               if( !p_intf->p_sys->i_cookie )
+               {
+                   if( !Inhibit( p_intf ) )
+                   {
+                       vlc_object_release( p_input );
+                       goto end;
+                   }
+               }
             }
             else if( p_intf->p_sys->i_cookie )
             {




More information about the vlc-devel mailing list