From: Jean-Baptiste Kempf Date: Mon, 28 Jul 2008 07:18:44 +0000 (-0700) Subject: Destroy preferences dialog on close and on reset. X-Git-Tag: 0.9.0-test3~185 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=e28d5e8ac631a90c44bb75eb7cfd56f0fd2e6e2b;p=vlc Destroy preferences dialog on close and on reset. Close #1777 --- diff --git a/modules/gui/qt4/dialogs/preferences.cpp b/modules/gui/qt4/dialogs/preferences.cpp index aa57119f26..a841f70043 100644 --- a/modules/gui/qt4/dialogs/preferences.cpp +++ b/modules/gui/qt4/dialogs/preferences.cpp @@ -21,6 +21,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ + #ifdef HAVE_CONFIG_H # include "config.h" #endif @@ -49,6 +50,10 @@ PrefsDialog::PrefsDialog( QWidget *parent, intf_thread_t *_p_intf ) QGridLayout *main_layout = new QGridLayout( this ); setWindowTitle( qtr( "Preferences" ) ); + /* Whether we want it or not, we need to destroy on close to get + consistency when reset */ + setAttribute( Qt::WA_DeleteOnClose ); + /* Create Panels */ tree_panel = new QWidget; tree_panel_l = new QHBoxLayout; @@ -352,7 +357,8 @@ void PrefsDialog::reset() { config_ResetAll( p_intf ); config_SaveConfigFile( p_intf, NULL ); - /* FIXME reset the panels */ - destroyPanels(); + + instance = NULL; + close(); } } diff --git a/modules/gui/qt4/dialogs/preferences.hpp b/modules/gui/qt4/dialogs/preferences.hpp index 5125bfa66f..634df78b46 100644 --- a/modules/gui/qt4/dialogs/preferences.hpp +++ b/modules/gui/qt4/dialogs/preferences.hpp @@ -91,7 +91,6 @@ private slots: void save(); void cancel(); void reset(); - void close(){ save(); }; /* Needed for any generic CloseEvent*/ }; #endif