svnno****@sourc*****
svnno****@sourc*****
2011年 2月 26日 (土) 10:21:44 JST
Revision: 1473 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1473 Author: f_swallow Date: 2011-02-26 10:21:44 +0900 (Sat, 26 Feb 2011) Log Message: ----------- Recentタブで既読かつほかのタブのtab.Posts内のツイートが未読であるときに発言を削除すると未読の数値が変わらない問題に対処。(確認できたのが自発言の削除のみなのでUserStreamのDeleteイベントの削除では起こる可能性あり) Modified Paths: -------------- trunk/Tween/StatusDictionary.vb -------------- next part -------------- Modified: trunk/Tween/StatusDictionary.vb =================================================================== --- trunk/Tween/StatusDictionary.vb 2011-02-25 17:14:56 UTC (rev 1472) +++ trunk/Tween/StatusDictionary.vb 2011-02-26 01:21:44 UTC (rev 1473) @@ -687,11 +687,21 @@ For Each key As String In _tabs.Keys Dim tab As TabClass = _tabs(key) If tab.Contains(Id) Then - If tab.UnreadManage AndAlso Not post.IsRead Then '未読管理 - SyncLock LockUnread - tab.UnreadCount -= 1 - Me.SetNextUnreadId(Id, tab) - End SyncLock + If tab.Posts.Count = 0 Then + If tab.UnreadManage AndAlso Not post.IsRead Then '未読管理 + SyncLock LockUnread + tab.UnreadCount -= 1 + Me.SetNextUnreadId(Id, tab) + End SyncLock + End If + Else '未読数がずれる可能性があるためtab.Postsの未読も確認する + Dim tabPost As PostClass = tab.Posts(Id) + If tab.UnreadManage AndAlso Not tabPost.IsRead Then '未読管理 + SyncLock LockUnread + tab.UnreadCount -= 1 + Me.SetNextUnreadId(Id, tab) + End SyncLock + End If End If tab.Remove(Id) End If