]> git.sesse.net Git - vlc/commitdiff
Fix refcount problems
authorClément Stenac <zorglub@videolan.org>
Sun, 12 Feb 2006 15:28:56 +0000 (15:28 +0000)
committerClément Stenac <zorglub@videolan.org>
Sun, 12 Feb 2006 15:28:56 +0000 (15:28 +0000)
modules/control/hotkeys.c
modules/gui/skins2/src/vlcproc.cpp

index 9e09839251302b812a4910521f7b8f336eee8371..b84671974bf7e24b1a7e41fac7112b45eb480c03 100644 (file)
@@ -206,8 +206,15 @@ static void Run( intf_thread_t *p_intf )
         /* Update the input */
         if( p_intf->p_sys->p_input == NULL )
         {
-            p_intf->p_sys->p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                                      FIND_ANYWHERE );
+            p_playlist = (playlist_t *)vlc_object_find( p_intf,
+                                         VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
+            if( p_playlist )
+            {
+                p_intf->p_sys->p_input = p_playlist->p_input;
+                if( p_intf->p_sys->p_input )
+                    vlc_object_yield( p_intf->p_sys->p_input );
+                vlc_object_release( p_playlist );
+            }
         }
         else if( p_intf->p_sys->p_input->b_dead )
         {
index ee0840c28b23e8a46bf168db16373ffc5620ba42..8f2d815c9864fb7249d870f3341456c9864a7549 100644 (file)
@@ -240,8 +240,9 @@ void VlcProc::manage()
    // Update the input
     if( getIntf()->p_sys->p_input == NULL )
     {
-        getIntf()->p_sys->p_input = (input_thread_t *)vlc_object_find(
-            getIntf(), VLC_OBJECT_INPUT, FIND_ANYWHERE );
+        getIntf()->p_sys->p_input = getIntf()->p_sys->p_playlist->p_input;
+        if( getIntf()->p_sys->p_input )
+            vlc_object_yield( getIntf()->p_sys->p_input );
     }
     else if( getIntf()->p_sys->p_input->b_dead )
     {