[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdepim/kaddressbook
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2005-02-13 12:07:18
Message-ID: 20050213120718.696041D00E () office ! kde ! org
[Download RAW message or body]

CVS commit by tokoe: 

Close the resources before KABCore is destructed, otherwise this lead to
crashes.


  M +15 -10    kabcore.cpp   1.150
  M +2 -0      kabcore.h   1.44
  M +2 -0      kaddressbook_part.cpp   1.45
  M +5 -0      kaddressbookmain.cpp   1.48
  M +2 -0      kaddressbookmain.h   1.27


--- kdepim/kaddressbook/kabcore.cpp  #1.149:1.150
@@ -175,14 +175,4 @@ KABCore::KABCore( KXMLGUIClient *client,
 KABCore::~KABCore()
 {
-  saveSettings();
-  KABPrefs::instance()->writeConfig();
-
-  QPtrList<KABC::Resource> resources = mAddressBook->resources();
-  QPtrListIterator<KABC::Resource> it( resources );
-  while ( it.current() ) {
-    it.current()->close();
-    ++it;
-  }
-
   mAddressBook->disconnect();
 
@@ -883,4 +873,19 @@ void KABCore::configurationChanged()
 }
 
+bool KABCore::queryClose()
+{
+  saveSettings();
+  KABPrefs::instance()->writeConfig();
+
+  QPtrList<KABC::Resource> resources = mAddressBook->resources();
+  QPtrListIterator<KABC::Resource> it( resources );
+  while ( it.current() ) {
+    it.current()->close();
+    ++it;
+  }
+
+  return true;
+}
+
 void KABCore::addressBookChanged()
 {

--- kdepim/kaddressbook/kabcore.h  #1.43:1.44
@@ -336,4 +336,6 @@ class KDE_EXPORT KABCore : public KAB::C
     void configurationChanged();
 
+    bool queryClose();
+
   private slots:
     void setJumpButtonBarVisible( bool visible );

--- kdepim/kaddressbook/kaddressbook_part.cpp  #1.44:1.45
@@ -119,4 +119,6 @@ void KAddressbookPart::save()
 void KAddressbookPart::exit()
 {
+  mCore->queryClose();
+
   delete this;
 }

--- kdepim/kaddressbook/kaddressbookmain.cpp  #1.47:1.48
@@ -128,4 +128,9 @@ void KAddressBookMain::readProperties( K
 }
 
+bool KAddressBookMain::queryClose()
+{
+  return mCore->queryClose();
+}
+
 void KAddressBookMain::initActions()
 {

--- kdepim/kaddressbook/kaddressbookmain.h  #1.26:1.27
@@ -77,4 +77,6 @@ class KAddressBookMain : public KMainWin
     void readProperties( KConfig* );
 
+    virtual bool queryClose();
+
   private slots:
     void configureKeyBindings();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic