[pitivi] timeline: Disconnect before doing anything else when setting a project



commit 4056af46839999ec85771a209e1257497f7a65bd
Author: Alexandru Băluț <alexandru balut gmail com>
Date:   Wed Oct 28 23:22:11 2015 +0100

    timeline: Disconnect before doing anything else when setting a project
    
    Reviewed-by: Thibault Saunier <tsaunier gnome org>
    Differential Revision: https://phabricator.freedesktop.org/D524

 pitivi/timeline/timeline.py |   19 ++++++++-----------
 1 files changed, 8 insertions(+), 11 deletions(-)
---
diff --git a/pitivi/timeline/timeline.py b/pitivi/timeline/timeline.py
index 7f316a8..933e4c0 100644
--- a/pitivi/timeline/timeline.py
+++ b/pitivi/timeline/timeline.py
@@ -359,15 +359,8 @@ class Timeline(Gtk.EventBox, Zoomable, Loggable):
 
     def setProject(self, project):
         """
-        Connects with the GES.Timeline holding the project.
+        Connects to the GES.Timeline holding the project.
         """
-        self._project = project
-        if self._project:
-            self._project.pipeline.connect('position', self._positionCb)
-            bTimeline = self._project.timeline
-        else:
-            bTimeline = None
-
         if self.bTimeline is not None:
             self.bTimeline.disconnect_by_func(self._durationChangedCb)
             self.bTimeline.disconnect_by_func(self._layerAddedCb)
@@ -378,13 +371,17 @@ class Timeline(Gtk.EventBox, Zoomable, Loggable):
                 self._removeLayer(bLayer)
 
             self.bTimeline.ui = None
+            self.bTimeline = None
 
-        self.bTimeline = bTimeline
+        self._project = project
+        if self._project:
+            self._project.pipeline.connect('position', self._positionCb)
+            self.bTimeline = self._project.timeline
 
-        if bTimeline is None:
+        if self.bTimeline is None:
             return
 
-        for bLayer in bTimeline.get_layers():
+        for bLayer in self.bTimeline.get_layers():
             self._addLayer(bLayer)
 
         self.bTimeline.connect("notify::duration", self._durationChangedCb)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]