Bug 142149

Summary: [PATCH] Konversation's Watched nicknames fix (actually making it work)
Product: [Applications] konversation Reporter: Stanislav Nikolov <stanley_87>
Component: generalAssignee: Konversation Developers <konversation-devel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: proposed patch

Description Stanislav Nikolov 2007-02-24 17:35:41 UTC
Version:           1.0.1+ #3201 (using KDE 3.5.6, Gentoo)
Compiler:          Target: i686-pc-linux-gnu
OS:                Linux (i686) release 2.6.19-suspend2-r2

It always occurred to me that the konversation's Watched nicknames behaviour was a bit buggy. When trying to find the reason I found several obvious bugs (like case-sensitivity in the watched nicknames list), as well as some legacy ones (maybe from the time when konvi used to track nickname changes). With this patch I try to clean up the code a bit and make it actually work. I've tested it for a couple of weeks on my PC and it seems to work. Nevertheless, it may need more testing :)

So, the patch introduces a simple system of tracking online status, relying only on the ISON replies. For this reason a new member of the Server class is introduced, QStringList m_prevISONList, which keeps the previous ISON reply. Then in the notification dispatcher, the new reply is directly compared to the previous and the new offline/online nicks are determined. The patch also introduces a new function setWatchedNickOffline() which is used to handle setting a certain nick offline (duh). As for now, a nick change is treated as a nick getting offline.

Well, that's pretty much the patch, I hope it is useful.

Best wishes,
Stanislav
Comment 1 Stanislav Nikolov 2007-02-24 17:37:07 UTC
Created attachment 19798 [details]
proposed patch
Comment 2 Peter Simonsson 2007-04-08 15:08:18 UTC
Hmm this one is already applied... wonder why the bug haven't been closed...