Summary: | [PATCH] ICQ User Info for temporary contacts is not automatically loaded | ||
---|---|---|---|
Product: | [Unmaintained] kopete | Reporter: | Casey Allen Shobe <cshobe> |
Component: | ICQ and AIM Plugins | Assignee: | Kopete Developers <kopete-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | awilisch |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | proposed patch to fix the problem |
Description
Casey Allen Shobe
2004-01-02 08:43:03 UTC
ok, reproduced this with a temporary contact (which is the only way i could reproduce it) Created attachment 4223 [details]
proposed patch to fix the problem
I've attached a patch. Please test it. It should solve the problem.
This bug stil happens with recent CVS and RC1. Matt, was this patch put into CVS ever? If not, why not? I find this very annoying with ICQ :P *** Bug 72901 has been marked as a duplicate of this bug. *** We first need queues for userinfo requests, otherwise we can run into problems when we flood the server with requests. also this shouldn't be special-cased for temp-contacts, instead do it for every newly created ICQContact that has an UIN as displayName(). need to re-work the patch, might do that later today. CVS commit by mattr: Fix bug 71654. Fetch the user info for all contacts upon addition. {BACKPORT] CCMAIL: 71654-done@bugs.kde.org M +4 -0 oscaraccount.cpp 1.103.2.4 --- kdenetwork/kopete/protocols/oscar/oscaraccount.cpp #1.103.2.3:1.103.2.4 @@ -789,4 +789,5 @@ bool OscarAccount::addContactToMetaConta // need to normalize the contact name engine()->sendAddBuddy(tocNormalize(contactId), internalGroup->name(), false); + engine()->sendReqInfo( contactId.toULong() ); // Increase these counters, I'm not sure what this does @@ -807,5 +808,8 @@ bool OscarAccount::addContactToMetaConta // Get user status through BLM if contact is temporary (ICQ only) if ( engine()->isICQ() ) + { engine()->sendAddBuddylist(tocNormalize(contactId)); + engine()->sendReqInfo( contactId.toULong() ); + } // Set it's initial status That patch is useless because ICQContact won't pick up that userinfo as it doesn't know the sequenceId of the request. look at ICQContact constructor: /* if(name == displayName && account()->isConnected()) { kdDebug(14200) << k_funcinfo << "ICQ Contact with no nickname, grabbing userinfo" << endl; requestUserInfo(); }*/ THAT is the code which once did the fetch but it was disabled due to the missing rate limit. reenabled that piece of code in HEAD, will back out the other patches shortly |