Commit 7ad3e457 authored by Christophe Mutricy's avatar Christophe Mutricy

Fix logic

And unhibit before quiting
(cherry picked from commit af7d0050)
Signed-off-by: default avatarChristophe Mutricy <xtophe@videolan.org>
parent f6d262ba
...@@ -53,6 +53,9 @@ static void Deactivate ( vlc_object_t * ); ...@@ -53,6 +53,9 @@ static void Deactivate ( vlc_object_t * );
static void Run ( intf_thread_t *p_intf ); 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 struct intf_sys_t
{ {
DBusConnection *p_conn; DBusConnection *p_conn;
...@@ -106,6 +109,9 @@ static int Activate( vlc_object_t *p_this ) ...@@ -106,6 +109,9 @@ static int Activate( vlc_object_t *p_this )
static void Deactivate( vlc_object_t *p_this ) static void Deactivate( vlc_object_t *p_this )
{ {
intf_thread_t *p_intf = (intf_thread_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 ); dbus_connection_unref( p_intf->p_sys->p_conn );
free( p_intf->p_sys ); free( p_intf->p_sys );
} }
...@@ -237,13 +243,16 @@ static void Run( intf_thread_t *p_intf ) ...@@ -237,13 +243,16 @@ static void Run( intf_thread_t *p_intf )
p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE ); p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE );
if( p_input ) 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 ) ) if( !p_intf->p_sys->i_cookie )
{ {
vlc_object_release( p_input ); if( !Inhibit( p_intf ) )
goto end; {
} vlc_object_release( p_input );
goto end;
}
}
} }
else if( p_intf->p_sys->i_cookie ) else if( p_intf->p_sys->i_cookie )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment