Changeset 025c96ac36d5c8b98615e7de945f7d15284d3d41

Show
Ignore:
Timestamp:
06/15/08 23:31:18 (3 months ago)
Author:
Felix Paul Kühne <fkuehne@videolan.org>
git-committer:
Felix Paul Kühne <fkuehne@videolan.org> 1213565478 +0200
git-parent:

[8c16b6a8e89dfaced6868463079c5f2006346da7]

git-author:
Felix Paul Kühne <fkuehne@videolan.org> 1213540799 +0200
Message:

the vout might still run after the playlist termination, so we don't want to use pl_Yield. Pointed by courmisch, thanks!

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/video_output/caca.c

    r2d85699 r025c96a  
    372372        case CACA_EVENT_QUIT: 
    373373        { 
    374             p_playlist = pl_Yield( p_vout ); 
    375             playlist_Stop( p_playlist ); 
    376             vlc_object_release( p_playlist ); 
     374            p_playlist = vlc_object_find( p_vout, 
     375                                         VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); 
     376            if( p_playlist ) 
     377            { 
     378                playlist_Stop( p_playlist ); 
     379                vlc_object_release( p_playlist ); 
     380            } 
    377381            vlc_object_kill( p_vout->p_libvlc ); 
    378382            break; 
  • modules/video_output/msw/directx.c

    rfd62942 r025c96a  
    21262126        playlist_t *p_playlist; 
    21272127 
    2128         p_playlist = pl_Yield( p_this ); 
    2129         /* Modify playlist as well because the vout might have to be 
    2130          * restarted */ 
    2131         var_Create( p_playlist, "directx-wallpaper", VLC_VAR_BOOL ); 
    2132         var_Set( p_playlist, "directx-wallpaper", newval ); 
    2133         vlc_object_release( p_playlist ); 
     2128        p_playlist = vlc_object_find( p_this, 
     2129                                     VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); 
     2130        if( p_playlist ) 
     2131        { 
     2132            /* Modify playlist as well because the vout might have to be 
     2133             * restarted */ 
     2134            var_Create( p_playlist, "directx-wallpaper", VLC_VAR_BOOL ); 
     2135            var_Set( p_playlist, "directx-wallpaper", newval ); 
     2136            vlc_object_release( p_playlist ); 
     2137        } 
    21342138 
    21352139        p_vout->p_sys->i_changes |= DX_WALLPAPER_CHANGE; 
  • modules/video_output/msw/events.c

    rfd62942 r025c96a  
    7878static void DirectXPopupMenu( event_thread_t *p_event, bool b_open ) 
    7979{ 
    80     playlist_t *p_playlist = pl_Yield( p_event ); 
    81     vlc_value_t val; 
    82     val.b_bool = b_open; 
    83     var_Set( p_playlist, "intf-popupmenu", val ); 
    84     vlc_object_release( p_playlist ); 
     80    playlist_t *p_playlist = vlc_object_find( p_event, 
     81                                             VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); 
     82    if( p_playlist ) 
     83    { 
     84        vlc_value_t val; 
     85        val.b_bool = b_open; 
     86        var_Set( p_playlist, "intf-popupmenu", val ); 
     87        vlc_object_release( p_playlist ); 
     88    } 
    8589} 
    8690 
     
    867871    case WM_CLOSE: 
    868872    { 
    869         playlist_t * p_playlist = pl_Yield( p_vout ); 
    870         playlist_Stop( p_playlist ); 
    871         vlc_object_release( p_playlist ); 
     873        playlist_t * p_playlist = vlc_object_find( p_vout, 
     874                                                  VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); 
     875        if( p_playlist ) 
     876        { 
     877            playlist_Stop( p_playlist ); 
     878            vlc_object_release( p_playlist ); 
     879        } 
    872880        return 0; 
    873881    }