[gnome-games] ui: Disconnect previous handler in SidebarView.model setter



commit 15f27b6a56824ac070031dfa272ed807fcfe7ddd
Author: Alexander Mikhaylenko <exalm7659 gmail com>
Date:   Wed Aug 15 01:20:11 2018 +0500

    ui: Disconnect previous handler in SidebarView.model setter

 src/ui/sidebar-view.vala | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/src/ui/sidebar-view.vala b/src/ui/sidebar-view.vala
index 16bd21ff..23c77eaf 100644
--- a/src/ui/sidebar-view.vala
+++ b/src/ui/sidebar-view.vala
@@ -8,14 +8,21 @@ private abstract class Games.SidebarView : Gtk.Box {
                set { collection_view.filtering_text = value; }
        }
 
+       private ulong model_items_changed_id;
+
        private ListModel _model;
        public ListModel model {
                set {
+                       if (model_items_changed_id != 0) {
+                               _model.disconnect (model_items_changed_id);
+                               model_items_changed_id = 0;
+                       }
+
                        _model = value;
                        collection_view.model = _model;
 
                        if (model != null)
-                               model.items_changed.connect (on_model_changed);
+                               model_items_changed_id = model.items_changed.connect (on_model_changed);
                }
                get { return _model; }
        }


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