Commit 56f13b36 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Fix some quitting issues from skins2 when Qt in theDP.

parent 6e108358
......@@ -271,10 +271,12 @@ static void Close( vlc_object_t *p_this )
vlc_object_unlock( p_intf );
if( p_intf->p_sys->b_isDialogProvider )
{
if( p_intf->p_sys->p_dp )
{
DialogEvent *event = new DialogEvent( INTF_DIALOG_EXIT, 0, NULL );
QApplication::postEvent( THEDP, static_cast<QEvent*>(event) );
}
vlc_thread_join( p_intf );
}
......@@ -342,7 +344,7 @@ static void *Init( vlc_object_t *obj )
app->setWindowIcon( QIcon( QPixmap(vlc_xpm) ) );
/* Initialize timers and the Dialog Provider */
DialogsProvider::getInstance( p_intf );
p_intf->p_sys->p_dp = DialogsProvider::getInstance( p_intf );
QPointer<MainInterface> *miP = NULL;
......@@ -424,6 +426,7 @@ static void *Init( vlc_object_t *obj )
app->exec();
/* And quit */
msg_Dbg( p_intf, "Quitting the Qt4 Interface" );
if (miP)
{
......@@ -442,16 +445,20 @@ static void *Init( vlc_object_t *obj )
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();
p_intf->p_sys->p_dp = NULL;
/* 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;
......
......@@ -52,6 +52,7 @@ struct intf_sys_t
{
QApplication *p_app;
MainInterface *p_mi;
DialogsProvider *p_dp;
QSettings *mainSettings;
......
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