Commit a2731364 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt4 - Try to improve quitting of the application... Ref #1397

parent c47b2e44
......@@ -42,6 +42,11 @@ public:
static OpenDialog * getInstance( QWidget *parent, intf_thread_t *p_intf,
int _action_flag = 0, bool modal = false );
static void killInstance()
{
if( instance ) delete instance;
instance = NULL;
}
virtual ~OpenDialog();
void showTab( int );
......
......@@ -112,7 +112,7 @@ public:
static void killInstance()
{
if( instance ) delete instance;
instance=NULL;
instance = NULL;
}
virtual ~DialogsProvider();
QTimer *fixed_timer;
......
......@@ -214,7 +214,6 @@ void InputManager::customEvent( QEvent *event )
return;
}
IMEvent *ime = static_cast<IMEvent *>(event);
if ( type == PositionUpdate_Type )
......
......@@ -1132,9 +1132,7 @@ void MainInterface::wheelEvent( QWheelEvent *e )
void MainInterface::closeEvent( QCloseEvent *e )
{
hide();
vlc_object_kill( p_intf );
QApplication::closeAllWindows();
QApplication::quit();
THEDP->quit();
}
/*****************************************************************************
......
......@@ -289,7 +289,6 @@ static void Init( intf_thread_t *p_intf )
p_mi->show();
}
else
/*if( p_intf->pf_show_dialog )*/
vlc_thread_ready( p_intf );
#ifdef ENABLE_NLS
......@@ -327,8 +326,18 @@ static void Init( intf_thread_t *p_intf )
app->exec();
/* And quit */
MainInputManager::killInstance();
/* Destroy first the main interface because it is connected to some slots
in the MainInputManager */
if( p_intf->p_sys->p_mi ) delete p_intf->p_sys->p_mi;
/* Destroy then other windows, because some are connected to some slots
in the MainInputManager */
DialogsProvider::killInstance();
/* Destroy the MainInputManager */
MainInputManager::killInstance();
delete app;
}
......
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