From b17ef798c758d5ad5336bc6ed2568ba4dfc60a46 Mon Sep 17 00:00:00 2001 From: Alexandre Deckner Date: Mon, 2 Jun 2008 17:08:42 +0000 Subject: [PATCH] - Decouple ModulesView::SaveState() from ModulesView::_CloseSaver() and thus ModulesView::DetachedFromWindow(). When called by BWindow destructor, the needed derived member fSettings was already destroyed by the derived ScreenSaverWindow destructor. See backtrace in #2287 Fixes #2287 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25761 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/screensaver/ScreenSaverWindow.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/preferences/screensaver/ScreenSaverWindow.cpp b/src/preferences/screensaver/ScreenSaverWindow.cpp index 1b1254caa3..989354c0d5 100644 --- a/src/preferences/screensaver/ScreenSaverWindow.cpp +++ b/src/preferences/screensaver/ScreenSaverWindow.cpp @@ -351,6 +351,7 @@ ModulesView::MessageReceived(BMessage* message) else fSettings.SetModuleName(item->Text()); + SaveState(); _CloseSaver(); _OpenSaver(); break; @@ -469,9 +470,7 @@ ModulesView::_CloseSaver() fSaverRunner->Quit(); if (saver != NULL) saver->StopConfig(); - - SaveState(); - + delete view; delete fSettingsView; delete fSaverRunner;