OSDN Git Service

リストアイテム再描画で例外が発生する場合があったので対応
authorkiri_feather <kiri_feather@users.sourceforge.jp>
Wed, 1 Dec 2010 12:21:06 +0000 (12:21 +0000)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 18 Feb 2012 14:16:48 +0000 (23:16 +0900)
発言削除イベント時に勝手にスクロールしてしまう場合があったので対応
アイコンキャッシュサイズを5000へ

git-svn-id: http://svn.sourceforge.jp/svnroot/tween/trunk@1147 e39ad16e-3079-482e-bb30-4b4d378143b6

Tween/ImageListViewItem.vb
Tween/Tween.vb

index 91fa7aa..617d385 100644 (file)
@@ -14,7 +14,7 @@
                                                                 If getImg Is Nothing Then Exit Sub
                                                                 Me.img = getImg
                                                                 If Me.ListView IsNot Nothing Then Me.ListView.Invoke(Sub()
-                                                                                                                         Me.ListView.RedrawItems(Me.Index, Me.Index, False)
+                                                                                                                         If Me.Index < Me.ListView.VirtualListSize Then Me.ListView.RedrawItems(Me.Index, Me.Index, False)
                                                                                                                      End Sub)
                                                             End Sub)
 
index ef1a7c0..e5e6ae4 100644 (file)
@@ -1011,7 +1011,7 @@ Public Class TweenMain
         End If
 
         'アイコンリスト作成
-        TIconDic = New ImageDictionary(3000)
+        TIconDic = New ImageDictionary(5000)
 
         tw.DetailIcon = TIconDic
 
@@ -9774,44 +9774,7 @@ RETRY:
 
         _statuses.RemovePost(id)
 
-        If _curTab Is Nothing OrElse _curList Is Nothing Then Exit Sub
-
-        Dim fidx As Integer
-        If _curList.FocusedItem IsNot Nothing Then
-            fidx = _curList.FocusedItem.Index
-        ElseIf _curList.TopItem IsNot Nothing Then
-            fidx = _curList.TopItem.Index
-        Else
-            fidx = 0
-        End If
-
-        _itemCache = Nothing    'キャッシュ破棄
-        _postCache = Nothing
-        _curPost = Nothing
-        _curItemIndex = -1
-        For Each tb As TabPage In ListTab.TabPages
-            DirectCast(tb.Tag, DetailsListView).VirtualListSize = _statuses.Tabs(tb.Text).AllCount
-            If _curTab.Equals(tb) Then
-                _curList.SelectedIndices.Clear()
-                If _statuses.Tabs(tb.Text).AllCount > 0 Then
-                    If _statuses.Tabs(tb.Text).AllCount - 1 > fidx AndAlso fidx > -1 Then
-                        _curList.SelectedIndices.Add(fidx)
-                    Else
-                        _curList.SelectedIndices.Add(_statuses.Tabs(tb.Text).AllCount - 1)
-                    End If
-                    'If _curList.SelectedIndices.Count > 0 Then
-                    '    _curList.EnsureVisible(_curList.SelectedIndices(0))
-                    '    _curList.FocusedItem = _curList.Items(_curList.SelectedIndices(0))
-                    'End If
-                End If
-            End If
-            If _statuses.Tabs(tb.Text).UnreadCount = 0 Then
-                If SettingDialog.TabIconDisp Then
-                    If tb.ImageIndex = 0 Then tb.ImageIndex = -1 'タブアイコン
-                End If
-            End If
-        Next
-        If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+        Me.RefreshTimeline()
     End Sub
 
     Private Sub tw_NewPostFromStream()