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

List:       kopete-devel
Subject:    [kopete-devel] [Bug 115772] kopete crash after change my icq status
From:       Roman Jarosz <kedgedev () centrum ! cz>
Date:       2006-03-18 16:32:33
Message-ID: 20060318163233.14660.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=115772         




------- Additional Comments From kedgedev centrum cz  2006-03-18 17:32 -------
SVN commit 520037 by rjarosz:

Backport fix for bug 115772: kopete crash after change my icq status to online.
CloseConnectionTask is deleted when its root connection is closed.
CCBUG: 115772



 M  +1 -5      liboscar/client.cpp  
 M  +10 -0     liboscar/closeconnectiontask.cpp  
 M  +3 -0      oscaraccount.cpp  


--- branches/KDE/3.5/kdenetwork/kopete/protocols/oscar/liboscar/client.cpp #520036:520037
 @ -89,7 +89,6  @
 	SSIAuthTask* ssiAuthTask;
 	ICQUserInfoRequestTask* icqInfoTask;
 	UserInfoTask* userInfoTask;
-	CloseConnectionTask* closeConnectionTask;
 	TypingNotifyTask * typingNotifyTask;
 	//Managers
 	SSIManager* ssiManager;
 @ -132,7 +131,6  @
 	d->ssiAuthTask = 0L;
 	d->icqInfoTask = 0L;
 	d->userInfoTask = 0L;
-	d->closeConnectionTask = 0L;
 	d->stage = ClientPrivate::StageOne;
 	d->typingNotifyTask = 0L;
 	d->awayMsgRequestTimer = new QTimer();
 @ -340,7 +338,7  @
 {
 	//create a new connection and set it up
 	Connection* c = createConnection( d->host, QString::number( d->port ) );
-	d->closeConnectionTask = new CloseConnectionTask( c->rootTask() );
+	new CloseConnectionTask( c->rootTask() );
 
 	//create the new login task
 	m_loginTaskTwo = new StageTwoLoginTask( c->rootTask() );
 @ -1090,7 +1088,6  @
 	delete d->ssiAuthTask;
 	delete d->icqInfoTask;
 	delete d->userInfoTask;
-	delete d->closeConnectionTask;
 	delete d->typingNotifyTask;
 
 	d->errorTask = 0;
 @ -1100,7 +1097,6  @
 	d->ssiAuthTask = 0;
 	d->icqInfoTask = 0;
 	d->userInfoTask = 0;
-	d->closeConnectionTask = 0;
 	d->typingNotifyTask = 0;
 }
 
--- branches/KDE/3.5/kdenetwork/kopete/protocols/oscar/liboscar/closeconnectiontask.cpp #520036:520037
 @ -112,6 +112,16  @
 		}
 		
 		tlvList.clear();
+		
+		if ( m_bosHost.isEmpty() )
+		{
+			kdWarning(OSCAR_RAW_DEBUG) << k_funcinfo << "Empty host address!" << endl;
+			
+			Oscar::SNAC s = { 0, 0, 0, 0 };
+			client()->fatalTaskError( s, 0 );
+			return true;
+		}
+		
 		kdDebug( OSCAR_RAW_DEBUG ) << k_funcinfo << "We should reconnect to server '" 
 			<< m_bosHost << "' on port " << m_bosPort << endl;
 		setSuccess( errorNum, errorReason );
--- branches/KDE/3.5/kdenetwork/kopete/protocols/oscar/oscaraccount.cpp #520036:520037
 @ -620,6 +620,9  @
 		                        Kopete::UI::Global::mainWidget() );
 		switch ( code )
 		{
+		case 0x0000:
+			logOff( Kopete::Account::Unknown );
+			break;
 		case 0x0004:
 		case 0x0005:
 			logOff( Kopete::Account::BadPassword );
_______________________________________________
kopete-devel mailing list
kopete-devel@kde.org
https://mail.kde.org/mailman/listinfo/kopete-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

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