# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
#include <vlc_interface.h>
#include <vlc_playlist.h>
#include <vlc_vout.h>
static void DirectXPopupMenu( event_thread_t *p_event, bool b_open )
{
- playlist_t *p_playlist =
- vlc_object_find( p_event, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
- if( p_playlist != NULL )
- {
- vlc_value_t val;
- val.b_bool = b_open;
- var_Set( p_playlist, "intf-popupmenu", val );
- vlc_object_release( p_playlist );
- }
+ vlc_value_t val;
+ val.b_bool = b_open;
+ var_Set( p_event->p_libvlc, "intf-popupmenu", val );
}
static int DirectXConvertKey( int i_key );
/* Creating a window under Windows also initializes the thread's event
* message queue */
if( DirectXCreateWindow( p_event->p_vout ) )
- {
- msg_Err( p_event, "out of memory" );
p_event->b_dead = true;
- }
/* Signal the creation of the window */
vlc_thread_ready( p_event );
/* Main loop */
/* GetMessage will sleep if there's no message in the queue */
- while( !p_event->b_die && GetMessage( &msg, 0, 0, 0 ) )
+ while( vlc_object_alive (p_event) && GetMessage( &msg, 0, 0, 0 ) )
{
/* Check if we are asked to exit */
- if( p_event->b_die )
+ if( !vlc_object_alive (p_event) )
break;
switch( msg.message )
#ifdef UNICODE
{
wchar_t *psz_title = malloc( strlen(val.psz_string) * 2 + 2 );
- mbstowcs( psz_title, val.psz_string, strlen(val.psz_string)*2);
- psz_title[strlen(val.psz_string)] = 0;
- free( val.psz_string ); val.psz_string = (char *)psz_title;
+ if( psz_title )
+ {
+ mbstowcs( psz_title, val.psz_string, strlen(val.psz_string)*2);
+ psz_title[strlen(val.psz_string)] = 0;
+ free( val.psz_string ); val.psz_string = (char *)psz_title;
+ }
}
#endif
/* the user wants to close the window */
case WM_CLOSE:
{
- playlist_t * p_playlist =
- (playlist_t *)vlc_object_find( p_vout, VLC_OBJECT_PLAYLIST,
- FIND_ANYWHERE );
- if( p_playlist == NULL )
+ playlist_t * p_playlist = pl_Yield( p_vout );
+ if( p_playlist )
{
- return 0;
+ playlist_Stop( p_playlist );
+ pl_Release( p_playlist );
}
-
- playlist_Stop( p_playlist );
- vlc_object_release( p_playlist );
return 0;
}
/* Update the object variable and trigger callback */
val.b_bool = p_vout->b_fullscreen;
var_Set( p_vout, "fullscreen", val );
-
- /* Disable video-on-top while in fullscreen mode */
- if( var_GetBool( p_vout, "video-on-top" ) )
- ControlParentWindow( p_vout, VOUT_SET_STAY_ON_TOP, !val.b_bool );
}