there's no vlc_thread_create(p_helper)
authorGeoffroy Couprie <geo.couprie@gmail.com>
Tue, 16 Sep 2008 00:10:05 +0000 (02:10 +0200)
committerGeoffroy Couprie <geo.couprie@gmail.com>
Tue, 16 Sep 2008 00:10:59 +0000 (02:10 +0200)
src/misc/win32_specific.c

index 5de59a5..84f7dd3 100644 (file)
@@ -368,16 +368,21 @@ LRESULT CALLBACK WMCOPYWNDPROC( HWND hwnd, UINT uMsg, WPARAM wParam,
  *****************************************************************************/
 void system_End( libvlc_int_t *p_this )
 {
  *****************************************************************************/
 void system_End( libvlc_int_t *p_this )
 {
+    HWND ipcwindow;
     if( p_this && vlc_global() )
     {
         free( vlc_global()->psz_vlcpath );
         vlc_global()->psz_vlcpath = NULL;
     }
     if( p_this && vlc_global() )
     {
         free( vlc_global()->psz_vlcpath );
         vlc_global()->psz_vlcpath = NULL;
     }
+
+    if( ipcwindow = FindWindow( 0, L"VLC ipc "VERSION ) )
+    {
+        SendMessage( ipcwindow, WM_QUIT, 0, 0 );
+    }
+
     if (p_helper && p_helper->p_parent == VLC_OBJECT(p_this) )
     {
         /* FIXME: thread-safety... */
     if (p_helper && p_helper->p_parent == VLC_OBJECT(p_this) )
     {
         /* FIXME: thread-safety... */
-        SendMessage( NULL, WM_QUIT, 0, 0 );
-        vlc_thread_join (p_helper);
         vlc_object_detach (p_helper);
         vlc_object_release (p_helper);
         p_helper = NULL;
         vlc_object_detach (p_helper);
         vlc_object_release (p_helper);
         p_helper = NULL;