commit f113f76d7a9fabcf010c2939ba7db8a77e2d612c
Author: Facundo Batista <facundo@taniquetil.com.ar>
Date:   Sun Apr 19 11:35:27 2015 -0300

    When finished downloading, don't change episode info if shouldn't. Fixes LP:1407440

diff --git a/encuentro/ui/central_panel.py b/encuentro/ui/central_panel.py
index 552d7bb..f22daea 100644
--- a/encuentro/ui/central_panel.py
+++ b/encuentro/ui/central_panel.py
@@ -531,8 +531,14 @@ class EpisodeInfo(QWidget):
         self.text_edit.setText(msg)
         self.button.hide()
 
-    def update(self, episode):
+    def update(self, episode, force_change=True):
         """Update all the episode info."""
+        if not force_change:
+            # if not forced, only update what is being shown if the current episode
+            # is the one to be updated
+            if self.current_episode != episode.episode_id:
+                return
+
         self.current_episode = episode.episode_id
 
         # image
diff --git a/encuentro/ui/main.py b/encuentro/ui/main.py
index db37d93..e9cd6b7 100644
--- a/encuentro/ui/main.py
+++ b/encuentro/ui/main.py
@@ -372,7 +372,7 @@ class MainUI(remembering.RememberingMainWindow):
 
         # queue
         self.episodes_download.append(episode)
-        self.adjust_episode_info(episode)
+        self.episodes_list.episode_info.update(episode)
         self.check_download_play_buttons()
         if self.episodes_download.downloading:
             return
@@ -410,9 +410,11 @@ class MainUI(remembering.RememberingMainWindow):
                 episode.filename = filename
 
             # check buttons
-            self.adjust_episode_info(episode)
             self.check_download_play_buttons()
 
+            # adjust the episode info only if it's still showing this one
+            self.episodes_list.episode_info.update(episode, force_change=False)
+
         logger.debug("Downloads: finished")
 
     @defer.inline_callbacks
@@ -441,10 +443,6 @@ class MainUI(remembering.RememberingMainWindow):
         safecfg = config.sanitized_config()
         logger.debug("Configuration changed: %s", safecfg)
 
-    def adjust_episode_info(self, episode):
-        """Adjust the episode info."""
-        self.episodes_list.episode_info.update(episode)
-
     def check_download_play_buttons(self):
         """Set both buttons state according to the selected episodes."""
         episode_ids = self.episodes_list.selected_items()
