aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4>2008-07-15 22:00:49 +0800
committerxclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4>2008-07-15 22:00:49 +0800
commit46adf294c3fd336821a5dcc291a8c311ae329b43 (patch)
tree21dd69b9d22277aa63365637c76efc5ab2c7c2bc
parentf921e22c85d43c78fd78093bd390b0c39fc9f52e (diff)
downloadgsoc2013-empathy-46adf294c3fd336821a5dcc291a8c311ae329b43.tar
gsoc2013-empathy-46adf294c3fd336821a5dcc291a8c311ae329b43.tar.gz
gsoc2013-empathy-46adf294c3fd336821a5dcc291a8c311ae329b43.tar.bz2
gsoc2013-empathy-46adf294c3fd336821a5dcc291a8c311ae329b43.tar.lz
gsoc2013-empathy-46adf294c3fd336821a5dcc291a8c311ae329b43.tar.xz
gsoc2013-empathy-46adf294c3fd336821a5dcc291a8c311ae329b43.tar.zst
gsoc2013-empathy-46adf294c3fd336821a5dcc291a8c311ae329b43.zip
Remove the contact pending event when the contact is not pending anymore.
git-svn-id: svn+ssh://svn.gnome.org/svn/empathy/trunk@1252 4ee84921-47dd-4033-b63a-18d7a039a3e4
-rw-r--r--libempathy-gtk/empathy-event-manager.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/libempathy-gtk/empathy-event-manager.c b/libempathy-gtk/empathy-event-manager.c
index e6ddb1808..9d2997096 100644
--- a/libempathy-gtk/empathy-event-manager.c
+++ b/libempathy-gtk/empathy-event-manager.c
@@ -318,10 +318,22 @@ event_manager_pendings_changed_cb (EmpathyContactList *list,
gboolean is_pending,
EmpathyEventManager *manager)
{
- GString *str;
+ EmpathyEventManagerPriv *priv = GET_PRIV (manager);
+ GString *str;
if (!is_pending) {
- /* FIXME: remove event if any */
+ GSList *l;
+
+ for (l = priv->events; l; l = l->next) {
+ EventPriv *event = l->data;
+
+ if (event->public.contact == contact &&
+ event->func == event_pending_subscribe_func) {
+ event_remove (event);
+ break;
+ }
+ }
+
return;
}