]> git.sesse.net Git - vlc/blobdiff - modules/control/showintf.c
Fix xosd memleaks.
[vlc] / modules / control / showintf.c
index 191df64c03ca32243b62ce16fbbb5f33be063647..bebf0679b1f8b559b07dd466ab61ffcfe5dcfe85 100644 (file)
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
-#include <stdlib.h>                                      /* malloc(), free() */
-#include <string.h>
 
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <vlc_common.h>
+#include <vlc_plugin.h>
 #include <vlc_interface.h>
 #include <vlc_vout.h>
 #include <vlc_playlist.h>
 struct intf_sys_t
 {
     vlc_object_t * p_vout;
-    vlc_bool_t     b_button_pressed;
-    vlc_bool_t     b_triggered;
+    bool     b_button_pressed;
+    bool     b_triggered;
     int            i_threshold;
 };
 
 /*****************************************************************************
  * Local prototypes.
  *****************************************************************************/
-int  E_(Open) ( vlc_object_t * );
-void E_(Close)( vlc_object_t * );
+int  Open ( vlc_object_t * );
+void Close( vlc_object_t * );
 static void RunIntf( intf_thread_t *p_intf );
 static int  InitThread( intf_thread_t *p_intf );
 static int  MouseEvent( vlc_object_t *, char const *,
@@ -65,17 +68,17 @@ static int  MouseEvent( vlc_object_t *, char const *,
 
 vlc_module_begin();
     set_shortname( "Showintf" );
-    add_integer( "showintf-threshold", 10, NULL, THRESHOLD_TEXT, THRESHOLD_LONGTEXT, VLC_TRUE );
-    set_description( _("Show interface with mouse") );
+    add_integer( "showintf-threshold", 10, NULL, THRESHOLD_TEXT, THRESHOLD_LONGTEXT, true );
+    set_description( N_("Show interface with mouse") );
 
     set_capability( "interface", 0 );
-    set_callbacks( E_(Open), E_(Close) );
+    set_callbacks( Open, Close );
 vlc_module_end();
 
 /*****************************************************************************
  * Open: initialize interface
  *****************************************************************************/
-int E_(Open)( vlc_object_t *p_this )
+int Open( vlc_object_t *p_this )
 {
     intf_thread_t *p_intf = (intf_thread_t *)p_this;
 
@@ -94,7 +97,7 @@ int E_(Open)( vlc_object_t *p_this )
 /*****************************************************************************
  * Close: destroy interface
  *****************************************************************************/
-void E_(Close)( vlc_object_t *p_this )
+void Close( vlc_object_t *p_this )
 {
     intf_thread_t *p_intf = (intf_thread_t *)p_this;
 
@@ -124,17 +127,15 @@ static void RunIntf( intf_thread_t *p_intf )
         /* Notify the interfaces */
         if( p_intf->p_sys->b_triggered )
         {
-            playlist_t *p_playlist = pl_Yield( p_intf );
-            var_SetBool( p_playlist, "intf-show", VLC_TRUE );
-            vlc_object_release( p_playlist );
-            p_intf->p_sys->b_triggered = VLC_FALSE;
+            var_SetBool( p_intf->p_libvlc, "intf-show", true );
+            p_intf->p_sys->b_triggered = false;
         }
 
         vlc_mutex_unlock( &p_intf->change_lock );
 
 
         /* Take care of the video output */
-        if( p_intf->p_sys->p_vout && p_intf->p_sys->p_vout->b_die )
+        if( p_intf->p_sys->p_vout && !vlc_object_alive (p_intf->p_sys->p_vout) )
         {
             var_DelCallback( p_intf->p_sys->p_vout, "mouse-moved",
                              MouseEvent, p_intf );
@@ -180,8 +181,8 @@ static int InitThread( intf_thread_t * p_intf )
     {
         vlc_mutex_lock( &p_intf->change_lock );
 
-        p_intf->p_sys->b_triggered = VLC_FALSE;
-        p_intf->p_sys->b_button_pressed = VLC_FALSE;
+        p_intf->p_sys->b_triggered = false;
+        p_intf->p_sys->b_button_pressed = false;
         p_intf->p_sys->i_threshold =
             config_GetInt( p_intf, "showintf-threshold" );
 
@@ -201,6 +202,7 @@ static int InitThread( intf_thread_t * p_intf )
 static int MouseEvent( vlc_object_t *p_this, char const *psz_var,
                        vlc_value_t oldval, vlc_value_t newval, void *p_data )
 {
+    VLC_UNUSED(p_this); VLC_UNUSED(oldval); VLC_UNUSED(newval);
     vlc_value_t val;
 
     int i_mouse_x, i_mouse_y;
@@ -227,7 +229,7 @@ static int MouseEvent( vlc_object_t *p_this, char const *psz_var,
         if ( i_mouse_y < p_intf->p_sys->i_threshold )
         {
             msg_Dbg( p_intf, "interface showing requested" );
-            p_intf->p_sys->b_triggered = VLC_TRUE;
+            p_intf->p_sys->b_triggered = true;
         }
     }
 
@@ -236,12 +238,12 @@ static int MouseEvent( vlc_object_t *p_this, char const *psz_var,
     if( !p_intf->p_sys->b_button_pressed &&
         !strcmp( psz_var, "mouse-button-down" ) )
     {
-        p_intf->p_sys->b_button_pressed = VLC_TRUE;
+        p_intf->p_sys->b_button_pressed = true;
     }
     if( p_intf->p_sys->b_button_pressed &&
         !strcmp( psz_var, "mouse-button-down" ) )
     {
-        p_intf->p_sys->b_button_pressed = VLC_FALSE;
+        p_intf->p_sys->b_button_pressed = false;
     }
 
     vlc_mutex_unlock( &p_intf->change_lock );