[ekiga] Make sure the bank has a real reference on the call manager in the opal code



commit a6a23469a21412ae0723bb7e8c83d3ee6efbfb59
Author: Julien Puydt <jpuydt free fr>
Date:   Wed Feb 6 03:40:01 2013 +0100

    Make sure the bank has a real reference on the call manager in the opal code

 lib/engine/components/opal/opal-bank.cpp |   10 ++++------
 lib/engine/components/opal/opal-bank.h   |    2 +-
 2 files changed, 5 insertions(+), 7 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-bank.cpp b/lib/engine/components/opal/opal-bank.cpp
index 4c4ec76..0947cad 100644
--- a/lib/engine/components/opal/opal-bank.cpp
+++ b/lib/engine/components/opal/opal-bank.cpp
@@ -64,9 +64,8 @@ Opal::Bank::Bank (Ekiga::ServiceCore& core):
   audiooutput_core(core.get<Ekiga::AudioOutputCore> ("audiooutput-core")),
   opal_component(core.get<CallManager> ("opal-component"))
 {
-  boost::shared_ptr<CallManager> opal = opal_component.lock ();
   boost::shared_ptr<Ekiga::PresenceCore> pcore = presence_core.lock ();
-  if ( !(opal && pcore))
+  if ( !pcore)
     return;
 
   GSList *accounts = gm_conf_get_string_list (PROTOCOLS_KEY "accounts_list");
@@ -83,7 +82,7 @@ Opal::Bank::Bank (Ekiga::ServiceCore& core):
 						 notification_core,
 						 personal_details,
 						 audiooutput_core,
-						 opal,
+						 opal_component,
 						 (char *)accounts_iter->data));
 
     add_account (account);
@@ -261,9 +260,8 @@ void Opal::Bank::add (Account::Type acc_type,
                       bool enabled,
                       unsigned timeout)
 {
-  boost::shared_ptr<CallManager> opal = opal_component.lock ();
   boost::shared_ptr<Ekiga::PresenceCore> pcore = presence_core.lock ();
-  if ( !(opal && pcore))
+  if ( !pcore)
     return;
   AccountPtr account
     = AccountPtr(new Opal::Account (sip_endpoint,
@@ -274,7 +272,7 @@ void Opal::Bank::add (Account::Type acc_type,
 				    notification_core,
 				    personal_details,
 				    audiooutput_core,
-				    opal, acc_type, name,
+				    opal_component, acc_type, name,
 				    host, user, auth_user,
 				    password, enabled,
 				    timeout));
diff --git a/lib/engine/components/opal/opal-bank.h b/lib/engine/components/opal/opal-bank.h
index ead68e5..ddb9b56 100644
--- a/lib/engine/components/opal/opal-bank.h
+++ b/lib/engine/components/opal/opal-bank.h
@@ -116,7 +116,7 @@ private:
     boost::shared_ptr<Ekiga::NotificationCore> notification_core;
     boost::shared_ptr<Ekiga::PersonalDetails> personal_details;
     boost::shared_ptr<Ekiga::AudioOutputCore> audiooutput_core;
-    boost::weak_ptr<CallManager> opal_component;
+    boost::shared_ptr<CallManager> opal_component;
 
     bool populate_menu_helper (const std::string fullname,
 			       const std::string& uri,



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