Changeset 31713

Show
Ignore:
Timestamp:
03/31/09 14:53:11 (4 years ago)
Author:
syo68k
Message:

FavタブでFav解除するとクラッシュするバグ修正 Bug:詳細領域の発言がFav状態のまま

Location:
lang/vb2005/Tween/Tween
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/vb2005/Tween/Tween/StatusDictionary.vb

    r31706 r31713  
    426426    End Sub 
    427427 
     428    Public Sub RemovePost(ByVal Name As String, ByVal Id As Long) 
     429        SyncLock LockObj 
     430            Dim post As PostClass = _statuses(Id) 
     431            '指定タブから該当ID削除 
     432            Dim tab As TabClass = _tabs(Name) 
     433            If tab.Contains(Id) Then 
     434                If tab.UnreadManage AndAlso Not post.IsRead Then    '未読管理 
     435                    tab.UnreadCount -= 1 
     436                    Me.SetNextUnreadId(Id, tab) 
     437                End If 
     438                tab.Remove(Id) 
     439            End If 
     440        End SyncLock 
     441    End Sub 
     442 
    428443    Public Sub RemovePost(ByVal Id As Long) 
    429444        SyncLock LockObj 
  • lang/vb2005/Tween/Tween/Tween.vb

    r31706 r31713  
    14071407                    args.page = i + 1 
    14081408                    bw.ReportProgress(50, MakeStatusMessage(args, False)) 
    1409                     bw.ReportProgress(60, MakeStatusMessage(args, False)) 
    14101409                    If post.IsFav Then 
    14111410                        ret = Twitter.PostFavRemove(post.Id) 
     
    14131412                            args.sIds.Add(post.Id) 
    14141413                            post.IsFav = False    'リスト再描画必要 
    1415                             _statuses.Tabs.Item("Favourites").Remove(post.Id) 
    1416                             If _curTab.Text.Equals("Favourites") Then 
    1417                                 _itemCache = Nothing    'キャッシュ破棄 
    1418                                 _postCache = Nothing 
    1419                                 _curPost = Nothing 
    1420                                 _curItemIndex = -1 
    1421                             End If 
    14221414                        End If 
    14231415                    End If 
     
    16531645        End If 
    16541646 
     1647        If rslt.type = WORKERTYPE.FavRemove Then 
     1648            Dim nm As Integer = 0 
     1649            For Each i As Long In rslt.sIds 
     1650                _statuses.RemovePost("Favourites", i) 
     1651                nm += 1 
     1652            Next 
     1653            If _curTab.Text.Equals("Favourites") Then 
     1654                _curList.VirtualListSize -= nm 
     1655                _itemCache = Nothing    'キャッシュ破棄 
     1656                _postCache = Nothing 
     1657                _curPost = Nothing 
     1658                _curItemIndex = -1 
     1659            End If 
     1660        End If 
     1661 
    16551662        'リストに反映 
    16561663        Dim busy As Boolean = False 
     
    17211728            Case WORKERTYPE.FavAdd, WORKERTYPE.BlackFavAdd, WORKERTYPE.FavRemove 
    17221729                _curList.BeginUpdate() 
    1723                 For i As Integer = 0 To rslt.sIds.Count - 1 
    1724                     If _curTab.Text.Equals(rslt.tName) Then 
    1725                         Dim idx As Integer = _statuses.Tabs(rslt.tName).GetIndex(rslt.sIds(i)) 
    1726                         Dim post As PostClass = _statuses.Item(rslt.sIds(i)) 
    1727                         ChangeCacheStyleRead(post.IsRead, idx, _curTab) 
    1728                         If idx = _curItemIndex Then DispSelectedPost() '選択アイテム再表示 
    1729                     End If 
    1730                 Next 
     1730                If rslt.type = WORKERTYPE.FavRemove AndAlso _curTab.Text.Equals("Favourites") Then 
     1731                    For i As Integer = 0 To _curList.VirtualListSize - 1 
     1732                        ' 
     1733                    Next 
     1734                Else 
     1735                    For i As Integer = 0 To rslt.sIds.Count - 1 
     1736                        If _curTab.Text.Equals(rslt.tName) Then 
     1737                            Dim idx As Integer = _statuses.Tabs(rslt.tName).GetIndex(rslt.sIds(i)) 
     1738                            Dim post As PostClass = _statuses.Item(rslt.sIds(i)) 
     1739                            ChangeCacheStyleRead(post.IsRead, idx, _curTab) 
     1740                            If idx = _curItemIndex Then DispSelectedPost() '選択アイテム再表示 
     1741                        End If 
     1742                    Next 
     1743                End If 
    17311744                _curList.EndUpdate() 
    17321745            Case WORKERTYPE.PostMessage