------- 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=138376
andre duffeck de changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From andre duffeck de 2007-05-02 18:52 -------
SVN commit 660412 by duffeck:
Fix loss of contacts on large contact lists.
BUG:138376
M +1 -1 coreprotocol.cpp
M +5 -4 listtask.cpp
M +2 -0 listtask.h
M +5 -4 ymsgprotocol.cpp
---
branches/KDE/3.5/kdenetwork/kopete/protocols/yahoo/libkyahoo/coreprotocol.cpp
#660411:660412
@ -184,7 +184,7 @
}
else
{
- kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " - not a
valid YMSG packet. Trying to recover." << endl;
+ kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " - not a
valid YMSG packet. Trying to recover: " << wire << endl;
QTextStream s( wire, IO_ReadOnly );
QString remaining = s.read();
int pos = remaining.find( "YMSG", bytesParsed );
--- branches/KDE/3.5/kdenetwork/kopete/protocols/yahoo/libkyahoo/listtask.cpp
#660411:660412
@ -69,13 +69,13 @
kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << endl;
QString raw;
- raw = t->firstParam( 87 );
-
- if( raw.isEmpty() )
+ m_list.append( t->firstParam( 87 ) );
+
+ if( t->firstParam( 59 ).isEmpty() )
return;
QStringList groups;
- groups = QStringList::split( "\n", raw );
+ groups = QStringList::split( "\n", m_list );
for ( QStringList::Iterator groupIt = groups.begin(); groupIt !=
groups.end(); ++groupIt )
{
@ -88,6 +88,7 @
emit gotBuddy( *buddyIt, QString::null, group );
}
}
+ m_list.truncate( 0 );
}
void ListTask::parseStealthList( YMSGTransfer *t )
--- branches/KDE/3.5/kdenetwork/kopete/protocols/yahoo/libkyahoo/listtask.h
#660411:660412
@ -41,6 +41,8 @
signals:
void gotBuddy(const QString&, const QString&, const QString&);
void stealthStatusChanged( const QString&, Yahoo::StealthStatus );
+private:
+ QString m_list;
};
#endif
---
branches/KDE/3.5/kdenetwork/kopete/protocols/yahoo/libkyahoo/ymsgprotocol.cpp
#660411:660412
@ -357,9 +357,10 @
if (accept)
value[x++] = data[pos++];
}
- if (accept)
+ if (accept) {
value[x] = 0;
- pos += 2;
+ pos += 2;
+ }
if (accept)
{
@ -375,8 +376,8 @
}
// Packets consisting of several YMSG-packets sometimes contain padding
chars (0x00) -> filter out
- while( (BYTE)data[pos] == (BYTE) 0x00 && pos <= len + 20)
- pos++;
+ while( (BYTE)data[pos] == (BYTE) 0x00 && pos <= len + 20)
+ pos++;
kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " Returning transfer" << endl;
// tell them we have parsed offset bytes
_______________________________________________
kopete-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kopete-devel