memset( p_intf->p_sys, 0, sizeof( intf_sys_t ) );
p_intf->pf_run = Run;
+ p_intf->p_sys->p_mi = NULL;
/* Access to the playlist */
p_intf->p_sys->p_playlist = pl_Yield( p_intf );
if( p_intf->p_sys->b_isDialogProvider )
{
- DialogEvent *event = new DialogEvent( INTF_DIALOG_EXIT, 0, NULL );
- QApplication::postEvent( THEDP, static_cast<QEvent*>(event) );
-
+ if( DialogsProvider::isAlive() )
+ {
+ msg_Dbg( p_intf, "Asking the DP to quit nicely" );
+ DialogEvent *event = new DialogEvent( INTF_DIALOG_EXIT, 0, NULL );
+ QApplication::postEvent( THEDP, static_cast<QEvent*>(event) );
+ }
vlc_thread_join( p_intf );
}
# if defined (WIN32) || defined (__APPLE__)
char* psz_tmp = config_GetPsz( p_intf, "language" );
QString lang = qfu( psz_tmp );
- free( psz_tmp;
+ free( psz_tmp);
if (lang == "auto")
lang = QLocale::system().name();
# else
app->exec();
/* And quit */
+ msg_Dbg( p_intf, "Quitting the Qt4 Interface" );
if (miP)
{
in the MainInputManager */
delete p_intf->p_sys->p_mi;
- /* Destroy then other windows, because some are connected to some slots
- in the MainInputManager */
+ /* Destroy all remaining windows,
+ because some are connected to some slots
+ in the MainInputManager
+ Settings must be destroyed after that.
+ */
DialogsProvider::killInstance();
+ /* Delete the configuration. Application has to be deleted after that. */
+ delete p_intf->p_sys->mainSettings;
+
/* Destroy the MainInputManager */
MainInputManager::killInstance();
- /* Delete the configuration */
- delete p_intf->p_sys->mainSettings;
-
/* Delete the application */
delete app;