@@ -85,22 +85,22 @@ void Filter::clear()
85void Filter::setUnityFilter(unity::dash::Filter::Ptr unityFilter)
85void Filter::setUnityFilter(unity::dash::Filter::Ptr unityFilter)
87 if (m_unityFilter != NULL) {
87 if (m_unityFilter != NULL) {
88− // FIXME: should disconnect from m_unityFilter's signals
88+ m_signals.disconnectAll();
91 m_unityFilter = unityFilter;
91 m_unityFilter = unityFilter;
93 /* Property change signals */
93 /* Property change signals */
94− m_unityFilter->id.changed.connect(sigc::mem_fun(this, &Filter::idChanged));
94+ m_signals << m_unityFilter->id.changed.connect(sigc::mem_fun(this, &Filter::idChanged))
95− m_unityFilter->name.changed.connect(sigc::mem_fun(this, &Filter::nameChanged));
95+ << m_unityFilter->name.changed.connect(sigc::mem_fun(this, &Filter::nameChanged))
96− m_unityFilter->icon_hint.changed.connect(sigc::mem_fun(this, &Filter::iconHintChanged));
96+ << m_unityFilter->icon_hint.changed.connect(sigc::mem_fun(this, &Filter::iconHintChanged))
97− m_unityFilter->renderer_name.changed.connect(sigc::mem_fun(this, &Filter::rendererNameChanged));
97+ << m_unityFilter->renderer_name.changed.connect(sigc::mem_fun(this, &Filter::rendererNameChanged))
98− m_unityFilter->visible.changed.connect(sigc::mem_fun(this, &Filter::visibleChanged));
98+ << m_unityFilter->visible.changed.connect(sigc::mem_fun(this, &Filter::visibleChanged))
99− m_unityFilter->collapsed.changed.connect(sigc::mem_fun(this, &Filter::collapsedChanged));
99+ << m_unityFilter->collapsed.changed.connect(sigc::mem_fun(this, &Filter::collapsedChanged))
100− m_unityFilter->filtering.changed.connect(sigc::mem_fun(this, &Filter::filteringChanged));
100+ << m_unityFilter->filtering.changed.connect(sigc::mem_fun(this, &Filter::filteringChanged));
102 /* Signals forwarding */
102 /* Signals forwarding */
103− m_unityFilter->removed.connect(sigc::mem_fun(this, &Filter::removed));
103+ m_signals << m_unityFilter->removed.connect(sigc::mem_fun(this, &Filter::removed));
106Filter* Filter::newFromUnityFilter(unity::dash::Filter::Ptr unityFilter)
106Filter* Filter::newFromUnityFilter(unity::dash::Filter::Ptr unityFilter)