Commit 38276a46 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Remove VLC_OBJECT_GLOBAL

parent bf523119
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
*/ */
/* Object types */ /* Object types */
#define VLC_OBJECT_GLOBAL (-1)
#define VLC_OBJECT_LIBVLC (-2) #define VLC_OBJECT_LIBVLC (-2)
#define VLC_OBJECT_MODULE (-3) #define VLC_OBJECT_MODULE (-3)
#define VLC_OBJECT_INTF (-4) #define VLC_OBJECT_INTF (-4)
......
...@@ -107,8 +107,7 @@ static int vlc_object_type_from_string( const char *psz_name ) ...@@ -107,8 +107,7 @@ static int vlc_object_type_from_string( const char *psz_name )
int i_type; int i_type;
const char *psz_name; const char *psz_name;
} pp_objects[] = } pp_objects[] =
{ { VLC_OBJECT_GLOBAL, "global" }, { { VLC_OBJECT_LIBVLC, "libvlc" },
{ VLC_OBJECT_LIBVLC, "libvlc" },
{ VLC_OBJECT_MODULE, "module" }, { VLC_OBJECT_MODULE, "module" },
{ VLC_OBJECT_INTF, "intf" }, { VLC_OBJECT_INTF, "intf" },
{ VLC_OBJECT_PLAYLIST, "playlist" }, { VLC_OBJECT_PLAYLIST, "playlist" },
......
...@@ -143,9 +143,9 @@ void *vlc_custom_create( vlc_object_t *p_this, size_t i_size, ...@@ -143,9 +143,9 @@ void *vlc_custom_create( vlc_object_t *p_this, size_t i_size,
} }
libvlc_global_data_t *p_libvlc_global; libvlc_global_data_t *p_libvlc_global;
if( i_type == VLC_OBJECT_GLOBAL ) if( p_this == NULL )
{ {
/* If i_type is global, then p_new is actually p_libvlc_global */ /* Only the global root object is created out of the blue */
p_libvlc_global = (libvlc_global_data_t *)p_new; p_libvlc_global = (libvlc_global_data_t *)p_new;
p_new->p_libvlc = NULL; p_new->p_libvlc = NULL;
...@@ -379,10 +379,12 @@ static void vlc_object_destroy( vlc_object_t *p_this ) ...@@ -379,10 +379,12 @@ static void vlc_object_destroy( vlc_object_t *p_this )
free( p_this->psz_header ); free( p_this->psz_header );
if( p_this->i_object_type == VLC_OBJECT_GLOBAL ) if( p_this->p_libvlc == NULL )
{ {
libvlc_global_data_t *p_global = (libvlc_global_data_t *)p_this; libvlc_global_data_t *p_global = (libvlc_global_data_t *)p_this;
#ifndef NDEBUG
assert( p_global == vlc_global() );
/* Test for leaks */ /* Test for leaks */
if( p_global->i_objects > 0 ) if( p_global->i_objects > 0 )
{ {
...@@ -408,6 +410,7 @@ static void vlc_object_destroy( vlc_object_t *p_this ) ...@@ -408,6 +410,7 @@ static void vlc_object_destroy( vlc_object_t *p_this )
/* Strongly abort, cause we want these to be fixed */ /* Strongly abort, cause we want these to be fixed */
abort(); abort();
} }
#endif
/* We are the global object ... no need to lock. */ /* We are the global object ... no need to lock. */
free( p_global->pp_objects ); free( p_global->pp_objects );
......
...@@ -143,7 +143,7 @@ int vlc_threads_init( void ) ...@@ -143,7 +143,7 @@ int vlc_threads_init( void )
if( i_initializations == 0 ) if( i_initializations == 0 )
{ {
p_root = vlc_custom_create( NULL, sizeof( *p_root ), p_root = vlc_custom_create( NULL, sizeof( *p_root ),
VLC_OBJECT_GLOBAL, "global" ); VLC_OBJECT_GENERIC, "root" );
if( p_root == NULL ) if( p_root == NULL )
{ {
i_ret = VLC_ENOMEM; i_ret = VLC_ENOMEM;
......
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