[ekiga/ds-fix-boost-leaks] Engine: Better use add_connection when connecting signals.



commit 7c23d34b885fdc7da670ad5b17f847739439a752
Author: Damien Sandras <dsandras seconix com>
Date:   Sat Jun 20 17:08:52 2015 +0200

    Engine: Better use add_connection when connecting signals.

 lib/engine/account/bank-impl.h     |    2 +-
 lib/engine/addressbook/book-impl.h |    2 +-
 lib/engine/presence/cluster-impl.h |    2 +-
 lib/engine/presence/heap-impl.h    |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/lib/engine/account/bank-impl.h b/lib/engine/account/bank-impl.h
index 6aa7eb4..e51a73b 100644
--- a/lib/engine/account/bank-impl.h
+++ b/lib/engine/account/bank-impl.h
@@ -196,8 +196,8 @@ template<typename AccountType>
 void
 Ekiga::BankImpl<AccountType>::add_account (boost::shared_ptr<AccountType> account)
 {
-  account->questions.connect (boost::ref (questions));
   accounts.add_object (account);
+  accounts.add_connection (accounts, account->questions.connect (boost::ref (questions)));
 }
 
 
diff --git a/lib/engine/addressbook/book-impl.h b/lib/engine/addressbook/book-impl.h
index 957db35..86c036d 100644
--- a/lib/engine/addressbook/book-impl.h
+++ b/lib/engine/addressbook/book-impl.h
@@ -201,8 +201,8 @@ template<typename ContactType>
 void
 Ekiga::BookImpl<ContactType>::add_contact (boost::shared_ptr<ContactType> contact)
 {
-  contact->questions.connect (boost::ref (questions));
   contacts.add_object (contact);
+  contacts.add_connection (contacts, contact->questions.connect (boost::ref (questions)));
 }
 
 
diff --git a/lib/engine/presence/cluster-impl.h b/lib/engine/presence/cluster-impl.h
index a989880..49ee529 100644
--- a/lib/engine/presence/cluster-impl.h
+++ b/lib/engine/presence/cluster-impl.h
@@ -126,8 +126,8 @@ template<typename HeapType>
 void
 Ekiga::ClusterImpl<HeapType>::add_heap (boost::shared_ptr<HeapType> heap)
 {
-  heaps.add_connection (heap, heap->questions.connect (boost::ref (questions)));
   heaps.add_object (heap);
+  heaps.add_connection (heap, heap->questions.connect (boost::ref (questions)));
 }
 
 template<typename HeapType>
diff --git a/lib/engine/presence/heap-impl.h b/lib/engine/presence/heap-impl.h
index 0e91aa2..8ceaad7 100644
--- a/lib/engine/presence/heap-impl.h
+++ b/lib/engine/presence/heap-impl.h
@@ -155,8 +155,8 @@ template<typename PresentityType>
 void
 Ekiga::HeapImpl<PresentityType>::add_presentity (boost::shared_ptr<PresentityType> presentity)
 {
-  presentity->questions.connect (boost::ref (Ekiga::Actor::questions));
   presentities.add_object (presentity);
+  presentities.add_connection (presentity, presentity->questions.connect (boost::ref 
(Ekiga::Actor::questions)));
 }
 
 template<typename PresentityType>


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