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

Finally remove mis-designed vlc_object_get

parent 670651ee
...@@ -82,7 +82,6 @@ VLC_EXPORT( void, __vlc_object_detach, ( vlc_object_t * ) ); ...@@ -82,7 +82,6 @@ VLC_EXPORT( void, __vlc_object_detach, ( vlc_object_t * ) );
#if defined (__GNUC__) && !defined __cplusplus #if defined (__GNUC__) && !defined __cplusplus
__attribute__((deprecated)) __attribute__((deprecated))
#endif #endif
VLC_EXPORT( void *, vlc_object_get, ( libvlc_int_t *, int ) );
VLC_EXPORT( void *, __vlc_object_find, ( vlc_object_t *, int, int ) ); VLC_EXPORT( void *, __vlc_object_find, ( vlc_object_t *, int, int ) );
VLC_EXPORT( vlc_object_t *, vlc_object_find_name, ( vlc_object_t *, const char *, int ) ); VLC_EXPORT( vlc_object_t *, vlc_object_find_name, ( vlc_object_t *, const char *, int ) );
VLC_EXPORT( void, __vlc_object_yield, ( vlc_object_t * ) ); VLC_EXPORT( void, __vlc_object_yield, ( vlc_object_t * ) );
......
...@@ -475,7 +475,6 @@ __vlc_object_create ...@@ -475,7 +475,6 @@ __vlc_object_create
__vlc_object_detach __vlc_object_detach
__vlc_object_find __vlc_object_find
vlc_object_find_name vlc_object_find_name
vlc_object_get
__vlc_object_kill __vlc_object_kill
__vlc_object_lock __vlc_object_lock
__vlc_object_release __vlc_object_release
......
...@@ -514,47 +514,7 @@ void __vlc_object_kill( vlc_object_t *p_this ) ...@@ -514,47 +514,7 @@ void __vlc_object_kill( vlc_object_t *p_this )
} }
/** /*****************************************************************************
* Find an object given its ID.
*
* This function looks for the object whose i_object_id field is i_id.
* This function is slow, and often used to hide bugs. Do not use it.
* If you need to retain reference to an object, yield the object pointer with
* vlc_object_yield(), use the pointer as your reference, and call
* vlc_object_release() when you're done.
*/
void * vlc_object_get( libvlc_int_t *p_anchor, int i_id )
{
vlc_object_t *obj = NULL;
#ifndef NDEBUG
int canc = vlc_savecancel ();
fprintf (stderr, "Use of deprecated vlc_object_get(%d) ", i_id);
vlc_backtrace ();
vlc_restorecancel (canc);
#endif
vlc_mutex_lock( &structure_lock );
for( obj = vlc_internals (p_anchor)->next;
obj != VLC_OBJECT (p_anchor);
obj = vlc_internals (obj)->next )
{
if( obj->i_object_id == i_id )
{
vlc_object_yield( obj );
goto out;
}
}
obj = NULL;
#ifndef NDEBUG
fprintf (stderr, "Object %d does not exist\n", i_id);
#endif
out:
vlc_mutex_unlock( &structure_lock );
return obj;
}
/**
****************************************************************************
* find a typed object and increment its refcount * find a typed object and increment its refcount
***************************************************************************** *****************************************************************************
* This function recursively looks for a given object type. i_mode can be one * This function recursively looks for a given object type. i_mode can be one
......
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