Remove unneeded psz_program hack.
[vlc.git] / modules / gui / wince / wince.cpp
index 3985211..e3e0c6b 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * wince.cpp: WinCE gui plugin for VLC
  *****************************************************************************
- * Copyright (C) 2003 VideoLAN
+ * Copyright (C) 2003 the VideoLAN team
  * $Id$
  *
  * Author: Gildas Bazin <gbazin@videolan.org>
@@ -26,7 +26,7 @@
  * Preamble
  *****************************************************************************/
 #include <vlc/vlc.h>
-#include <vlc/intf.h>
+#include <vlc_interface.h>
 
 #if defined( UNDER_CE ) && defined(__MINGW32__)
 /* This is a gross hack for the wince gcc cross-compiler */
@@ -61,7 +61,6 @@ vlc_module_begin();
     set_capability( "interface", 100 );
     set_callbacks( Open, Close );
     add_shortcut( "wince" );
-    set_program( "wcevlc" );
 
     add_bool( "wince-embed", 1, NULL,
               EMBED_TEXT, EMBED_LONGTEXT, VLC_FALSE );
@@ -96,7 +95,7 @@ static int Open( vlc_object_t *p_this )
 
     // Check if the application is running.
     // If it's running then focus its window and bail out.
-    HWND hwndMain = FindWindow( _T("VLC WinCE"), _T("VLC media player") );  
+    HWND hwndMain = FindWindow( _T("VLC WinCE"), _T("VLC media player") );
     if( hwndMain )
     {
         SetForegroundWindow( hwndMain );
@@ -112,7 +111,7 @@ static int Open( vlc_object_t *p_this )
     }
 
     // Suscribe to messages bank
-    p_intf->p_sys->p_sub = msg_Subscribe( p_intf );
+    p_intf->p_sys->p_sub = msg_Subscribe( p_intf, MSG_QUEUE_NORMAL );
 
     // Misc init
     p_intf->p_sys->p_audio_menu = NULL;
@@ -207,9 +206,8 @@ static void Run( intf_thread_t *p_intf )
 static void MainLoop( intf_thread_t *p_intf )
 {
     MSG msg;
-    Interface intf;
+    Interface *intf = 0;
 
-    p_intf->p_sys->p_main_window = &intf;
     if( !hInstance ) hInstance = GetModuleHandle(NULL);
 
     // Register window class
@@ -234,17 +232,10 @@ static void MainLoop( intf_thread_t *p_intf )
     if( !p_intf->pf_show_dialog )
     {
         /* The module is used in interface mode */
-        p_intf->p_sys->p_window = &intf;
+        p_intf->p_sys->p_window = intf = new Interface( p_intf, 0, hInstance );
 
         /* Create/Show the interface */
-        if( !intf.InitInstance( hInstance, p_intf ) )
-        {
-#ifndef UNDER_CE
-            /* Uninitialize OLE/COM */
-            CoUninitialize();
-#endif
-            return;
-        }
+        if( !intf->InitInstance() ) goto end;
     }
 
     /* Creates the dialogs provider */
@@ -277,6 +268,9 @@ static void MainLoop( intf_thread_t *p_intf )
         DispatchMessage( &msg );
     }
 
+ end:
+    if( intf ) delete intf;
+
 #ifndef UNDER_CE
     /* Uninitialize OLE/COM */
     CoUninitialize();