ekiga r7324 - in trunk/lib/engine: gui/gtk-frontend presence/avahi presence/local-roster presence/skel



Author: jpuydt
Date: Mon Nov 10 21:36:04 2008
New Revision: 7324
URL: http://svn.gnome.org/viewvc/ekiga?rev=7324&view=rev

Log:
Fixed a few lost references in the presence code

Modified:
   trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
   trunk/lib/engine/presence/avahi/avahi-cluster.cpp
   trunk/lib/engine/presence/local-roster/local-cluster.cpp
   trunk/lib/engine/presence/local-roster/local-heap.cpp
   trunk/lib/engine/presence/skel/cluster-impl.h

Modified: trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
==============================================================================
--- trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp	(original)
+++ trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp	Mon Nov 10 21:36:04 2008
@@ -652,6 +652,8 @@
     }
 
     g_free (name);
+    gmref_dec (heap);
+    gmref_dec (presentity);
   } else {
 
     g_signal_emit (self, signals[PRESENTITY_SELECTED_SIGNAL], 0, NULL);
@@ -718,6 +720,8 @@
 	break; // shouldn't happen
       }
       g_free (name);
+      gmref_dec (heap);
+      gmref_dec (presentity);
     }
     gtk_tree_path_free (path);
   }

Modified: trunk/lib/engine/presence/avahi/avahi-cluster.cpp
==============================================================================
--- trunk/lib/engine/presence/avahi/avahi-cluster.cpp	(original)
+++ trunk/lib/engine/presence/avahi/avahi-cluster.cpp	Mon Nov 10 21:36:04 2008
@@ -39,13 +39,12 @@
 
 Avahi::Cluster::Cluster (Ekiga::ServiceCore &_core): core(_core)
 {
-  gmref_ptr<Ekiga::PresenceCore> presence_core = core.get ("presence-core");
-
   heap = new Heap (core);
 
   add_heap (heap);
 
-  /* don't check the cast: it has been checked already by avahi-main!*/
+  /* don't check the cast: it has been checked already by avahi-main! */
+  gmref_ptr<Ekiga::PresenceCore> presence_core = core.get ("presence-core");
   presence_core->add_presence_fetcher (heap);
 }
 

Modified: trunk/lib/engine/presence/local-roster/local-cluster.cpp
==============================================================================
--- trunk/lib/engine/presence/local-roster/local-cluster.cpp	(original)
+++ trunk/lib/engine/presence/local-roster/local-cluster.cpp	Mon Nov 10 21:36:04 2008
@@ -43,7 +43,7 @@
 {
   gmref_ptr<Ekiga::PresenceCore> presence_core = core.get ("presence-core");
 
-  heap = new Local::Heap (core);
+  heap = new Heap (core);
 
   presence_core->presence_received.connect (sigc::mem_fun (this, &Local::Cluster::on_presence_received));
   presence_core->status_received.connect (sigc::mem_fun (this, &Local::Cluster::on_status_received));

Modified: trunk/lib/engine/presence/local-roster/local-heap.cpp
==============================================================================
--- trunk/lib/engine/presence/local-roster/local-heap.cpp	(original)
+++ trunk/lib/engine/presence/local-roster/local-heap.cpp	Mon Nov 10 21:36:04 2008
@@ -278,7 +278,7 @@
   presence_core->fetch_presence (presentity->get_uri ());
 
   // Connect the Local::Presentity signals.
-  presentity->trigger_saving.connect (sigc::mem_fun (this, &Local::Heap::save));
+  add_connection (presentity, presentity->trigger_saving.connect (sigc::mem_fun (this, &Local::Heap::save)));
 }
 
 

Modified: trunk/lib/engine/presence/skel/cluster-impl.h
==============================================================================
--- trunk/lib/engine/presence/skel/cluster-impl.h	(original)
+++ trunk/lib/engine/presence/skel/cluster-impl.h	Mon Nov 10 21:36:04 2008
@@ -133,11 +133,11 @@
 void
 Ekiga::ClusterImpl<HeapType>::add_heap (gmref_ptr<HeapType> heap)
 {
-  heap->presentity_added.connect (sigc::bind (sigc::mem_fun (this, &ClusterImpl::on_presentity_added), heap));
+  RefLister<HeapType>::add_connection (heap, heap->presentity_added.connect (sigc::bind (sigc::mem_fun (this, &ClusterImpl::on_presentity_added), heap)));
 
-  heap->presentity_updated.connect (sigc::bind (sigc::mem_fun (this, &ClusterImpl::on_presentity_updated), heap));
+  RefLister<HeapType>::add_connection (heap, heap->presentity_updated.connect (sigc::bind (sigc::mem_fun (this, &ClusterImpl::on_presentity_updated), heap)));
 
-  heap->presentity_removed.connect (sigc::bind (sigc::mem_fun (this, &ClusterImpl::on_presentity_removed), heap));
+  RefLister<HeapType>::add_connection (heap, heap->presentity_removed.connect (sigc::bind (sigc::mem_fun (this, &ClusterImpl::on_presentity_removed), heap)));
 
   heap->questions.add_handler (questions.make_slot ());
 



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