diff options
author | xclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4> | 2008-07-15 22:00:49 +0800 |
---|---|---|
committer | xclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4> | 2008-07-15 22:00:49 +0800 |
commit | 46adf294c3fd336821a5dcc291a8c311ae329b43 (patch) | |
tree | 21dd69b9d22277aa63365637c76efc5ab2c7c2bc | |
parent | f921e22c85d43c78fd78093bd390b0c39fc9f52e (diff) | |
download | gsoc2013-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.c | 16 |
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; } |