ekiga r6536 - in trunk: . src/endpoints



Author: jpuydt
Date: Wed Jul 30 07:05:44 2008
New Revision: 6536
URL: http://svn.gnome.org/viewvc/ekiga?rev=6536&view=rev

Log:
Made some run_in_main calls more careful about sigc::trackable

Modified:
   trunk/ChangeLog
   trunk/src/endpoints/manager.cpp
   trunk/src/endpoints/pcss.cpp
   trunk/src/endpoints/sip.cpp

Modified: trunk/src/endpoints/manager.cpp
==============================================================================
--- trunk/src/endpoints/manager.cpp	(original)
+++ trunk/src/endpoints/manager.cpp	Wed Jul 30 07:05:44 2008
@@ -50,6 +50,12 @@
 
 #include "call-manager.h"
 
+static void
+manager_ready_in_main (Ekiga::CallManager* manager)
+{
+  manager->ready.emit ();
+}
+
 static  bool same_codec_desc (Ekiga::CodecDescription a, Ekiga::CodecDescription b)
 { 
   return (a.name == b.name && a.rate == b.rate); 
@@ -86,7 +92,8 @@
          iter++) 
       (*iter)->set_listen_port ((*iter)->get_listen_interface ().port);
 
-    runtime.run_in_main (manager.ready.make_slot ());
+    runtime.run_in_main (sigc::bind (sigc::ptr_fun (manager_ready_in_main),
+				     &manager));
   };
 
 private:

Modified: trunk/src/endpoints/pcss.cpp
==============================================================================
--- trunk/src/endpoints/pcss.cpp	(original)
+++ trunk/src/endpoints/pcss.cpp	Wed Jul 30 07:05:44 2008
@@ -43,6 +43,12 @@
 
 #include "call.h"
 
+static void
+call_ringing_in_main (Ekiga::Call* call)
+{
+  call->ringing.emit ();
+}
+
 
 GMPCSSEndpoint::GMPCSSEndpoint (Opal::CallManager & ep,
                                 Ekiga::ServiceCore & _core) 
@@ -69,7 +75,8 @@
   Ekiga::Call *call = dynamic_cast<Ekiga::Call *> (&connection.GetCall ());
 
   if (call)
-    runtime.run_in_main (call->ringing.make_slot ());
+    runtime.run_in_main (sigc::bind (sigc::ptr_fun (call_ringing_in_main),
+				     call));
 
   return true;
 }

Modified: trunk/src/endpoints/sip.cpp
==============================================================================
--- trunk/src/endpoints/sip.cpp	(original)
+++ trunk/src/endpoints/sip.cpp	Wed Jul 30 07:05:44 2008
@@ -51,6 +51,16 @@
 #include "personal-details.h"
 #include "opal-account.h"
 
+static void
+presence_status_in_main (Ekiga::PresenceCore* core,
+			 std::string uri,
+			 std::string presence,
+			 std::string status)
+{
+  core->presence_received.emit (uri, presence);
+  core->status_received.emit (uri, status);
+}
+
 namespace Opal {
 
   namespace Sip {
@@ -964,8 +974,7 @@
    * TODO
    * Wouldn't it be convenient to emit the signal and have the presence core listen to it ?
    */
-  runtime.run_in_main (sigc::bind (presence_core.presence_received.make_slot (), _uri, presence));
-  runtime.run_in_main (sigc::bind (presence_core.status_received.make_slot (), _uri, status));
+  runtime.run_in_main (sigc::bind (sigc::ptr_fun (presence_status_in_main), &presence_core, _uri, presence, status));
 }
 
 



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