X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fmisc%2Fscreensaver.c;h=62525b9f17e64676aa080e208fbc3a66af73385a;hb=409327e9602e9d8a26e35b3ac4b97604d4790429;hp=7340893862e7eefb863be3a40bf10ce8f24656a7;hpb=13ae40b0efc4f1b1ce205d9a057537047fcab3f4;p=vlc diff --git a/modules/misc/screensaver.c b/modules/misc/screensaver.c index 7340893862..62525b9f17 100644 --- a/modules/misc/screensaver.c +++ b/modules/misc/screensaver.c @@ -30,7 +30,7 @@ # include "config.h" #endif -#include +#include #include #include #include @@ -47,7 +47,6 @@ #ifdef HAVE_DBUS -#define DBUS_API_SUBJECT_TO_CHANGE #include #define GS_SERVICE "org.gnome.ScreenSaver" @@ -56,11 +55,6 @@ #endif -/* this is for dbus < 0.3 */ -#ifndef HAVE_DBUS_1 -#define dbus_bus_name_has_owner(connection, name, err) dbus_bus_service_exists(connection, name, err) -#endif - /***************************************************************************** * Local prototypes *****************************************************************************/ @@ -90,11 +84,11 @@ struct intf_sys_t /***************************************************************************** * Module descriptor *****************************************************************************/ -vlc_module_begin(); - set_description( N_("X Screensaver disabler") ); - set_capability( "interface", 0 ); - set_callbacks( Activate, Deactivate ); -vlc_module_end(); +vlc_module_begin () + set_description( N_("X Screensaver disabler") ) + set_capability( "interface", 0 ) + set_callbacks( Activate, Deactivate ) +vlc_module_end () /***************************************************************************** * Activate: initialize and create stuff @@ -123,11 +117,7 @@ static void Deactivate( vlc_object_t *p_this ) if( p_intf->p_sys->p_connection ) { -# ifdef HAVE_DBUS_2 dbus_connection_unref( p_intf->p_sys->p_connection ); -# else - dbus_connection_disconnect( p_intf->p_sys->p_connection ); -# endif } free( p_intf->p_sys ); @@ -176,20 +166,15 @@ static void Execute( intf_thread_t *p_this, const char *const *ppsz_args ) *****************************************************************************/ static void Run( intf_thread_t *p_intf ) { - vlc_object_lock( p_intf ); - + int canc = vlc_savecancel(); #ifdef HAVE_DBUS p_intf->p_sys->p_connection = dbus_init( p_intf ); #endif - while( vlc_object_alive( p_intf ) ) - { + for( ;; ) + { vlc_object_t *p_vout; - /* Check screensaver every 30 seconds */ - if( vlc_object_timedwait( p_intf, mdate() + 30000000 ) < 0 ) - continue; - p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT, FIND_ANYWHERE ); /* If there is a video output, disable xscreensaver */ @@ -222,8 +207,11 @@ static void Run( intf_thread_t *p_intf ) vlc_object_release( p_input ); } } + + vlc_restorecancel( canc ); + /* Check screensaver every 30 seconds */ + msleep( 30 * CLOCK_FREQ ); } - vlc_object_unlock( p_intf ); } #ifdef HAVE_DBUS