]> git.sesse.net Git - vlc/commitdiff
vlc_object_find_name: simplify FIND_ANYWHERE
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 23 Jan 2010 11:34:34 +0000 (13:34 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 23 Jan 2010 11:35:55 +0000 (13:35 +0200)
src/misc/objects.c

index e6110e45a416ea5b62e041a818e4bb3f59671360..fa28541e0a650e2ca61c8ce270fc9eab8693f953 100644 (file)
@@ -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;