Retain bottom view model and fix crash after filter change
authorRené Stadler <mail@renestadler.de>
Fri, 30 Nov 2007 08:21:38 +0000 (10:21 +0200)
committerStefan Sauer <ensonic@users.sf.net>
Thu, 11 Sep 2014 18:51:41 +0000 (20:51 +0200)
debug-viewer/GstDebugViewer/GUI.py

index 978d589269f7577135f67c5d3f51c2195e2571f3..0b65e4156a042296a766457a0f0726fe15d1c7d6 100755 (executable)
@@ -1118,13 +1118,16 @@ class LineView (object):
         self.line_view.connect ("row-activated", self.handle_line_view_row_activated)
 
         self.log_view = log_view = window.log_view
-        log_view.connect ("notify::model", self.handle_log_view_notify_model)
         log_view.connect ("row-activated", self.handle_log_view_row_activated)
         sel = log_view.get_selection ()
         sel.connect ("changed", self.handle_log_view_selection_changed)
 
         self.column_manager.attach (window)
 
+    def handle_attach_log_file (self, window):
+
+        self.line_view.props.model = LineViewLogModel (window.log_model)
+
     def handle_line_view_row_activated (self, view, path, column):
 
         line_index = path[0]
@@ -1135,16 +1138,6 @@ class LineView (object):
         sel = self.log_view.get_selection ()
         sel.select_path (path)
 
-    def handle_log_view_notify_model (self, view, gparam):
-
-        log_model = view.props.model
-
-        if log_model is None:
-            return
-
-        line_model = LineViewLogModel (log_model)
-        self.line_view.props.model = line_model
-
     def handle_log_view_row_activated (self, view, path, column):
 
         log_filter = view.props.model
@@ -1604,6 +1597,7 @@ class Window (object):
 
         def idle_set ():
             self.log_view.props.model = self.log_filter
+            self.line_view.handle_attach_log_file (self)
             for feature in self.features:
                 feature.handle_attach_log_file (self, self.log_file)
             if len (self.log_filter):