Commit 0ba85689 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4 - beginning of cleaning correctly the DP.

parent 3dcf9afa
...@@ -197,7 +197,7 @@ vlc_module_end(); ...@@ -197,7 +197,7 @@ vlc_module_end();
static int Open( vlc_object_t *p_this ) static int Open( vlc_object_t *p_this )
{ {
intf_thread_t *p_intf = (intf_thread_t *)p_this; intf_thread_t *p_intf = (intf_thread_t *)p_this;
p_intf->pf_run = Run;
#if defined Q_WS_X11 && defined HAVE_X11_XLIB_H #if defined Q_WS_X11 && defined HAVE_X11_XLIB_H
/* Thanks for libqt4 calling exit() in QApplication::QApplication() /* Thanks for libqt4 calling exit() in QApplication::QApplication()
* instead of returning an error, we have to check the X11 display */ * instead of returning an error, we have to check the X11 display */
...@@ -209,6 +209,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -209,6 +209,7 @@ static int Open( vlc_object_t *p_this )
} }
XCloseDisplay( p_display ); XCloseDisplay( p_display );
#endif #endif
p_intf->p_sys = (intf_sys_t *)malloc( sizeof( intf_sys_t ) ); p_intf->p_sys = (intf_sys_t *)malloc( sizeof( intf_sys_t ) );
if( !p_intf->p_sys ) if( !p_intf->p_sys )
{ {
...@@ -217,9 +218,12 @@ static int Open( vlc_object_t *p_this ) ...@@ -217,9 +218,12 @@ static int Open( vlc_object_t *p_this )
} }
memset( p_intf->p_sys, 0, sizeof( intf_sys_t ) ); memset( p_intf->p_sys, 0, sizeof( intf_sys_t ) );
p_intf->pf_run = Run;
p_intf->p_sys->p_playlist = pl_Yield( p_intf ); p_intf->p_sys->p_playlist = pl_Yield( p_intf );
p_intf->p_sys->p_sub = msg_Subscribe( p_intf, MSG_QUEUE_NORMAL ); p_intf->p_sys->p_sub = msg_Subscribe( p_intf, MSG_QUEUE_NORMAL );
/* We support play on start */
p_intf->b_play = VLC_TRUE; p_intf->b_play = VLC_TRUE;
return VLC_SUCCESS; return VLC_SUCCESS;
...@@ -239,10 +243,16 @@ static int OpenDialogs( vlc_object_t *p_this ) ...@@ -239,10 +243,16 @@ static int OpenDialogs( vlc_object_t *p_this )
static void Close( vlc_object_t *p_this ) static void Close( vlc_object_t *p_this )
{ {
intf_thread_t *p_intf = (intf_thread_t *)p_this; intf_thread_t *p_intf = (intf_thread_t *)p_this;
vlc_mutex_lock( &p_intf->object_lock ); vlc_mutex_lock( &p_intf->object_lock );
p_intf->b_dead = VLC_TRUE; p_intf->b_dead = VLC_TRUE;
vlc_mutex_unlock( &p_intf->object_lock ); vlc_mutex_unlock( &p_intf->object_lock );
if( p_intf->pf_show_dialog )
{
vlc_thread_join( p_intf );
}
vlc_object_release( p_intf->p_sys->p_playlist ); vlc_object_release( p_intf->p_sys->p_playlist );
msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub ); msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub );
free( p_intf->p_sys ); free( p_intf->p_sys );
...@@ -301,7 +311,9 @@ static void Init( intf_thread_t *p_intf ) ...@@ -301,7 +311,9 @@ static void Init( intf_thread_t *p_intf )
p_mi->show(); */ p_mi->show(); */
} }
else else
{
vlc_thread_ready( p_intf ); vlc_thread_ready( p_intf );
}
#ifdef ENABLE_NLS #ifdef ENABLE_NLS
...@@ -330,7 +342,7 @@ static void Init( intf_thread_t *p_intf ) ...@@ -330,7 +342,7 @@ static void Init( intf_thread_t *p_intf )
} }
/* Explain to the core how to show a dialog :D */ /* Explain to the core how to show a dialog :D */
p_intf->pf_show_dialog = ShowDialog; //p_intf->pf_show_dialog = ShowDialog;
/* Last settings */ /* Last settings */
app->setQuitOnLastWindowClosed( false ); app->setQuitOnLastWindowClosed( false );
...@@ -371,10 +383,11 @@ static void Init( intf_thread_t *p_intf ) ...@@ -371,10 +383,11 @@ static void Init( intf_thread_t *p_intf )
/* Destroy the MainInputManager */ /* Destroy the MainInputManager */
MainInputManager::killInstance(); MainInputManager::killInstance();
delete app;
config_PutPsz( p_intf, "qt-filedialog-path", p_intf->p_sys->psz_filepath ); config_PutPsz( p_intf, "qt-filedialog-path", p_intf->p_sys->psz_filepath );
free( psz_path ); free( psz_path );
delete app;
} }
/***************************************************************************** /*****************************************************************************
......
...@@ -55,6 +55,7 @@ struct intf_sys_t ...@@ -55,6 +55,7 @@ struct intf_sys_t
{ {
QApplication *p_app; QApplication *p_app;
MainInterface *p_mi; MainInterface *p_mi;
playlist_t *p_playlist; playlist_t *p_playlist;
msg_subscription_t *p_sub; ///< Subscription to the message bank msg_subscription_t *p_sub; ///< Subscription to the message bank
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment