ekiga r7820 - trunk/lib/engine/components/opal



Author: jpuydt
Date: Fri Mar 27 10:08:58 2009
New Revision: 7820
URL: http://svn.gnome.org/viewvc/ekiga?rev=7820&view=rev

Log:
Made sure we don't leak the Ekiga::CallCore

Modified:
   trunk/lib/engine/components/opal/opal-call-manager.cpp
   trunk/lib/engine/components/opal/opal-call-manager.h

Modified: trunk/lib/engine/components/opal/opal-call-manager.cpp
==============================================================================
--- trunk/lib/engine/components/opal/opal-call-manager.cpp	(original)
+++ trunk/lib/engine/components/opal/opal-call-manager.cpp	Fri Mar 27 10:08:58 2009
@@ -27,7 +27,7 @@
 
 
 /*
- *                         manager.cpp  -  description
+ *                         opal-call-manager.cpp  -  description
  *                         ---------------------------
  *   begin                : Sat Dec 23 2000
  *   copyright            : (C) 2000-2006 by Damien Sandras
@@ -140,8 +140,6 @@
   SetMediaFormatOrder (PStringArray ());
   SetMediaFormatMask (PStringArray ());
 
-  call_core = core.get ("call-core");
-
   // used to communicate with the StunDetector
 #if GLIB_CHECK_VERSION(2,16,0)
   queue = g_async_queue_new_full (g_free);
@@ -633,6 +631,8 @@
 
 OpalCall *CallManager::CreateCall ()
 {
+  gmref_ptr<Ekiga::CallCore> call_core = core.get ("call-core"); // FIXME: threaded?
+
   gmref_ptr<Opal::Call> call (new Opal::Call (*this, core));
   call_core->add_call (call, gmref_ptr<CallManager>(this));
 
@@ -748,6 +748,8 @@
 void
 CallManager::ReportSTUNError (const std::string error)
 {
+  gmref_ptr<Ekiga::CallCore> call_core = core.get ("call-core");
+
   // notice we're in for an infinite loop if nobody ever reports to the user!
   if ( !call_core->errors.handle_request (error)) {
 

Modified: trunk/lib/engine/components/opal/opal-call-manager.h
==============================================================================
--- trunk/lib/engine/components/opal/opal-call-manager.h	(original)
+++ trunk/lib/engine/components/opal/opal-call-manager.h	Fri Mar 27 10:08:58 2009
@@ -54,7 +54,6 @@
 #include "runtime.h"
 #include "contact-core.h"
 #include "presence-core.h"
-#include "call-core.h"
 #include "call-manager.h"
 #include "call.h"
 
@@ -179,7 +178,6 @@
 
     Ekiga::ServiceCore & core;
     Ekiga::CodecList codecs; 
-    gmref_ptr<Ekiga::CallCore> call_core; // FIXME: is it threaded in there?
 
     /* used to get the STUNDetector results */
     GAsyncQueue* queue;



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