OSDN Git Service

TweetThumbnail内の CancellationTokenSource に対するDispose処理を追加
authorKimura Youichi <kim.upsilon@bucyou.net>
Wed, 12 Mar 2014 10:18:01 +0000 (19:18 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Wed, 12 Mar 2014 21:18:14 +0000 (06:18 +0900)
OpenTween/TweetThumbnail.cs

index b74e05e..94e0ab4 100644 (file)
@@ -56,6 +56,8 @@ namespace OpenTween
         public TweetThumbnail()
         {
             InitializeComponent();
+
+            this.cancelTokenSource = new CancellationTokenSource();
         }
 
         public Task ShowThumbnailAsync(PostClass post)
@@ -64,9 +66,7 @@ namespace OpenTween
 
             this.scrollBar.Enabled = false;
 
-            this.cancelTokenSource = new CancellationTokenSource();
             var cancelToken = this.cancelTokenSource.Token;
-
             var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
 
             this.task = Task.Factory.StartNew(() => this.GetThumbailInfo(post), cancelToken, TaskCreationOptions.None, TaskScheduler.Default)
@@ -174,7 +174,11 @@ namespace OpenTween
         {
             if (this.task == null || this.task.IsCompleted) return;
 
-            this.cancelTokenSource.Cancel();
+            var oldTokenSource = this.cancelTokenSource;
+            this.cancelTokenSource = new CancellationTokenSource();
+
+            oldTokenSource.Cancel();
+            oldTokenSource.Dispose();
         }
 
         /// <summary>