SVN commit 1356753 by pali: Wrap Edit account dialog into QPointer * Edit account dialog using KDialog::exec() function which can lead to memory corruption and double free * After this change Jabber edit account dialog stopped crashing when applying changes BUG: 306917 BUG: 306585 BUG: 243653 BUG: 244764 FIXED-IN: 4.11 M +4 -3 kopeteaccount.cpp --- trunk/KDE/kdenetwork/kopete/libkopete/kopeteaccount.cpp #1356752:1356753 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -683,7 +684,7 @@ void Account::editAccount(QWidget *parent) { - KDialog *editDialog = new KDialog( parent ); + QPointer editDialog = new KDialog( parent ); editDialog->setCaption( i18n( "Edit Account" ) ); editDialog->setButtons( KDialog::Ok | KDialog::Apply | KDialog::Cancel ); @@ -708,11 +709,11 @@ editDialog->setMainWidget( w ); if ( editDialog->exec() == QDialog::Accepted ) { - if( m_accountWidget->validateData() ) + if( editDialog && m_accountWidget->validateData() ) m_accountWidget->apply(); } - editDialog->deleteLater(); + delete editDialog; } void Account::setCustomIcon( const QString & i)