[pitivi] undo: Wait for elements to be in a track before discovering their children properties



commit 04deeba3b9222dd48e91ae5e3c6cb139573ef5b6
Author: Thibault Saunier <tsaunier gnome org>
Date:   Mon Nov 10 18:22:56 2014 +0100

    undo: Wait for elements to be in a track before discovering their children properties
    
    Otherwize if we do it too soon they will not exist yet

 pitivi/undo/timeline.py |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/pitivi/undo/timeline.py b/pitivi/undo/timeline.py
index adff955..c49eea6 100644
--- a/pitivi/undo/timeline.py
+++ b/pitivi/undo/timeline.py
@@ -76,6 +76,18 @@ class TrackElementChildPropertyTracker:
         if track_element in self._tracked_track_elements:
             return
 
+        if track_element.get_track() is None:
+            track_element.connect(
+                "notify::track", self._trackElementTrackSetCb)
+            return
+
+        self._discoverChildProperties(track_element)
+
+    def _trackElementTrackSetCb(self, track_element, unused):
+        self._discoverChildProperties(track_element)
+        track_element.disconnect_by_func(self._trackElementTrackSetCb)
+
+    def _discoverChildProperties(self, track_element):
         properties = {}
 
         track_element.connect('deep-notify', self._propertyChangedCb)


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