]> git.sesse.net Git - vlc/blobdiff - modules/video_output/msw/directx.c
macosx: Fix crashlog opening.
[vlc] / modules / video_output / msw / directx.c
index a01d50c075a78ccb586160ebf25953098cf4ea7e..a6ee80b852008bf3970f465801003e1baa3a461e 100644 (file)
@@ -40,7 +40,7 @@
 # include "config.h"
 #endif
 
-#include <vlc/vlc.h>
+#include <vlc_common.h>
 #include <vlc_plugin.h>
 #include <vlc_interface.h>
 #include <vlc_playlist.h>
@@ -157,8 +157,8 @@ static int WallpaperCallback( vlc_object_t *, char const *,
     "background. Note that this feature only works in overlay mode and " \
     "the desktop must not already have a wallpaper." )
 
-static char *ppsz_dev[] = { "" };
-static char *ppsz_dev_text[] = { N_("Default") };
+static const char *const ppsz_dev[] = { "" };
+static const char *const ppsz_dev_text[] = { N_("Default") };
 
 vlc_module_begin();
     set_shortname( "DirectX" );
@@ -179,7 +179,7 @@ vlc_module_begin();
     add_bool( "directx-wallpaper", 0, NULL, WALLPAPER_TEXT, WALLPAPER_LONGTEXT,
               true );
 
-    set_description( _("DirectX video output") );
+    set_description( N_("DirectX video output") );
     set_capability( "video output", 100 );
     add_shortcut( "directx" );
     set_callbacks( OpenVideo, CloseVideo );
@@ -210,10 +210,7 @@ static int OpenVideo( vlc_object_t *p_this )
     /* Allocate structure */
     p_vout->p_sys = malloc( sizeof( vout_sys_t ) );
     if( p_vout->p_sys == NULL )
-    {
-        msg_Err( p_vout, "out of memory" );
         return VLC_ENOMEM;
-    }
     memset( p_vout->p_sys, 0, sizeof( vout_sys_t ) );
 
     /* Initialisations */
@@ -694,7 +691,7 @@ static int Manage( vout_thread_t *p_vout )
     }
 
     /* Check if the event thread is still running */
-    if( p_vout->p_sys->p_event->b_die )
+    if( !vlc_object_alive (p_vout->p_sys->p_event) )
     {
         return VLC_EGENERIC; /* exit */
     }
@@ -2126,19 +2123,15 @@ static int WallpaperCallback( vlc_object_t *p_this, char const *psz_cmd,
     if( (newval.b_bool && !p_vout->p_sys->b_wallpaper) ||
         (!newval.b_bool && p_vout->p_sys->b_wallpaper) )
     {
-        playlist_t *p_playlist;
+        playlist_t *p_playlist = pl_Yield( p_vout );
 
-        p_playlist =
-            (playlist_t *)vlc_object_find( p_this, VLC_OBJECT_PLAYLIST,
-                                           FIND_PARENT );
         if( p_playlist )
         {
             /* Modify playlist as well because the vout might have to be
              * restarted */
             var_Create( p_playlist, "directx-wallpaper", VLC_VAR_BOOL );
             var_Set( p_playlist, "directx-wallpaper", newval );
-
-            vlc_object_release( p_playlist );
+            pl_Release( p_vout );
         }
 
         p_vout->p_sys->i_changes |= DX_WALLPAPER_CHANGE;