[vlc-devel] commit: vlc_object_find_name: simplify FIND_ANYWHERE ( Rémi Denis-Courmont )

git version control git at videolan.org
Sat Jan 23 12:41:12 CET 2010


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Jan 23 13:34:34 2010 +0200| [538a9b4da26d6db1386adf99e7c37faa97621924] | committer: Rémi Denis-Courmont 

vlc_object_find_name: simplify FIND_ANYWHERE

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=538a9b4da26d6db1386adf99e7c37faa97621924
---

 src/misc/objects.c |   28 ++++++----------------------
 1 files changed, 6 insertions(+), 22 deletions(-)

diff --git a/src/misc/objects.c b/src/misc/objects.c
index e6110e4..fa28541 100644
--- a/src/misc/objects.c
+++ b/src/misc/objects.c
@@ -526,31 +526,15 @@ vlc_object_t *vlc_object_find_name( vlc_object_t *p_this,
         return p_this;
     }
 
-    libvlc_lock (p_this->p_libvlc);
-
     /* Otherwise, recursively look for the object */
-    if( i_mode == FIND_ANYWHERE )
-    {
-        vlc_object_t *p_root = p_this;
+    if (i_mode == FIND_ANYWHERE)
+        return vlc_object_find_name (VLC_OBJECT(p_this->p_libvlc), psz_name,
+                                     FIND_CHILD);
 
-        /* Find the root */
-        while( p_root->p_parent != NULL &&
-               p_root != VLC_OBJECT( p_this->p_libvlc ) )
-        {
-            p_root = p_root->p_parent;
-        }
+    libvlc_lock (p_this->p_libvlc);
 
-        p_found = FindObjectName( p_root, psz_name, FIND_CHILD );
-        if( p_found == NULL && p_root != VLC_OBJECT( p_this->p_libvlc ) )
-        {
-            p_found = FindObjectName( VLC_OBJECT( p_this->p_libvlc ),
-                                      psz_name, FIND_CHILD );
-        }
-    }
-    else
-    {
-        p_found = FindObjectName( p_this, psz_name, i_mode );
-    }
+    /* Otherwise, recursively look for the object */
+    p_found = FindObjectName( p_this, psz_name, i_mode );
 
     libvlc_unlock (p_this->p_libvlc);
     return p_found;




More information about the vlc-devel mailing list