------- 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         
kedgedev centrum cz changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



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

Fix bug 115772: kopete crash after change my icq status to online.
CloseConnectionTask is deleted when its root connection is closed.
BUG: 115772



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


--- branches/kopete/0.12/kopete/protocols/oscar/liboscar/client.cpp 
#520029:520030
 @ -110,7 +110,6  @
        SSIAuthTask* ssiAuthTask;
        ICQUserInfoRequestTask* icqInfoTask;
        UserInfoTask* userInfoTask;
-       CloseConnectionTask* closeConnectionTask;
        TypingNotifyTask * typingNotifyTask;
        //Managers
        SSIManager* ssiManager;
 @ -157,7 +156,6  @
        d->ssiAuthTask = 0L;
        d->icqInfoTask = 0L;
        d->userInfoTask = 0L;
-       d->closeConnectionTask = 0L;
        d->stage = ClientPrivate::StageOne;
        d->typingNotifyTask = 0L;
        d->awayMsgRequestTimer = new QTimer();
 @ -371,7 +369,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() );
 @ -1288,7 +1286,6  @
        delete d->ssiAuthTask;
        delete d->icqInfoTask;
        delete d->userInfoTask;
-       delete d->closeConnectionTask;
        delete d->typingNotifyTask;
 
        d->errorTask = 0;
 @ -1298,7 +1295,6  @
        d->ssiAuthTask = 0;
        d->icqInfoTask = 0;
        d->userInfoTask = 0;
-       d->closeConnectionTask = 0;
        d->typingNotifyTask = 0;
 }
 
--- 
branches/kopete/0.12/kopete/protocols/oscar/liboscar/closeconnectiontask.cpp 
#520029:520030
 @ -112,6 +112,16  @
                }
                
                tlvList.clear();
+               
+               if ( m_bosHost.isEmpty() )
+               {
+                       kdDebug(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/kopete/0.12/kopete/protocols/oscar/oscaraccount.cpp #520029:520030
 @ -642,6 +642,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

Reply via email to