diff options
author | Jonny Lamb <jonnylamb@gnome.org> | 2009-11-12 18:58:34 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2009-11-12 18:58:34 +0800 |
commit | 1020f57c4a8ea74b7738b6a8e20d299cdd65115d (patch) | |
tree | 4a8d071394a6a98ca89effef1d0b40fc4eb561cd /libempathy-gtk/empathy-presence-chooser.c | |
parent | 4950a9c2e79b6c92510c738283a2b40c936570d6 (diff) | |
download | gsoc2013-empathy-1020f57c4a8ea74b7738b6a8e20d299cdd65115d.tar gsoc2013-empathy-1020f57c4a8ea74b7738b6a8e20d299cdd65115d.tar.gz gsoc2013-empathy-1020f57c4a8ea74b7738b6a8e20d299cdd65115d.tar.bz2 gsoc2013-empathy-1020f57c4a8ea74b7738b6a8e20d299cdd65115d.tar.lz gsoc2013-empathy-1020f57c4a8ea74b7738b6a8e20d299cdd65115d.tar.xz gsoc2013-empathy-1020f57c4a8ea74b7738b6a8e20d299cdd65115d.tar.zst gsoc2013-empathy-1020f57c4a8ea74b7738b6a8e20d299cdd65115d.zip |
Force an unset presence type to appear as offline in the presence chooser and status icon.
An unset presence type *does* make sense, but not in these
contexts. As an aside, there is no icon for an unset presence, so
nothing is displayed, which is bad.
Fixes bug #597819
Diffstat (limited to 'libempathy-gtk/empathy-presence-chooser.c')
-rw-r--r-- | libempathy-gtk/empathy-presence-chooser.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-presence-chooser.c b/libempathy-gtk/empathy-presence-chooser.c index 678ec835c..33e533273 100644 --- a/libempathy-gtk/empathy-presence-chooser.c +++ b/libempathy-gtk/empathy-presence-chooser.c @@ -951,6 +951,12 @@ presence_chooser_presence_changed_cb (EmpathyPresenceChooser *chooser) status = empathy_idle_get_status (priv->idle); flash_state = empathy_idle_get_flash_state (priv->idle); + /* An unset presence here doesn't make any sense. Force it to appear as + * offline. */ + if (state == TP_CONNECTION_PRESENCE_TYPE_UNSET) { + state = TP_CONNECTION_PRESENCE_TYPE_OFFLINE; + } + /* look through the model and attempt to find a matching state */ model = gtk_combo_box_get_model (GTK_COMBO_BOX (chooser)); for (valid = gtk_tree_model_get_iter_first (model, &iter); |