[ekiga] Fixed a leak in the opal component code



commit dd109e1eb68468bf5cac326313c94b1398dd9c18
Author: Julien Puydt <jpuydt free fr>
Date:   Fri Feb 8 08:06:27 2013 +0100

    Fixed a leak in the opal component code

 lib/engine/components/opal/opal-gmconf-bridge.h |   11 ++++++++++-
 lib/engine/components/opal/opal-main.cpp        |    3 ++-
 2 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-gmconf-bridge.h b/lib/engine/components/opal/opal-gmconf-bridge.h
index e9249f7..afb0ec2 100644
--- a/lib/engine/components/opal/opal-gmconf-bridge.h
+++ b/lib/engine/components/opal/opal-gmconf-bridge.h
@@ -38,6 +38,7 @@
 #define __OPAL_GMCONF_BRIDGE_H__
 
 #include "gmconf-bridge.h"
+#include "services.h"
 
 class GMManager;
 
@@ -45,7 +46,9 @@ namespace Opal
 {
   class CallManager;
 
-  class ConfBridge: public Ekiga::ConfBridge
+  class ConfBridge:
+    public Ekiga::ConfBridge,
+    public Ekiga::Service
   {
   public:
 
@@ -54,6 +57,12 @@ namespace Opal
     void on_property_changed (std::string key,
 			      GmConfEntry *value);
 
+    const std::string get_name () const
+    { return "opal-gmconf-bridge"; }
+
+    const std::string get_description () const
+    { return "\tPushes configuration changes to the opal component"; }
+
   private:
 
     Opal::CallManager& manager;
diff --git a/lib/engine/components/opal/opal-main.cpp b/lib/engine/components/opal/opal-main.cpp
index 2660d7a..634393e 100644
--- a/lib/engine/components/opal/opal-main.cpp
+++ b/lib/engine/components/opal/opal-main.cpp
@@ -141,7 +141,8 @@ struct OPALSpark: public Ekiga::Spark
 
       call_core->add_manager (call_manager);
 
-      new ConfBridge (*call_manager); // FIXME: isn't that leaked!?
+      boost::shared_ptr<ConfBridge> bridge(new ConfBridge (*call_manager));
+      core.add (bridge);
 
       presence_core->add_supported_uri (&is_supported_address); //FIXME
 


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