[ekiga] RosterViewGtk: Fixed status message transitions.
- From: Damien Sandras <dsandras src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga] RosterViewGtk: Fixed status message transitions.
- Date: Sun, 11 Jan 2015 14:30:12 +0000 (UTC)
commit ede02ef04ce58f8ce8269d23671a956683ffaa1b
Author: Damien Sandras <dsandras seconix com>
Date: Sun Jan 11 15:29:06 2015 +0100
RosterViewGtk: Fixed status message transitions.
lib/engine/gui/gtk-frontend/roster-view-gtk.cpp | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp b/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
index cfec8f4..274e0ec 100644
--- a/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
+++ b/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
@@ -1134,6 +1134,7 @@ on_presentity_added (RosterViewGtk* self,
bool active = false;
bool away = false;
guint timeout = 0;
+ gchar *old_status = NULL;
gchar *old_presence = NULL;
std::string presence;
gboolean should_emit = FALSE;
@@ -1175,13 +1176,19 @@ on_presentity_added (RosterViewGtk* self,
// Find out what our presence was
gtk_tree_model_get (GTK_TREE_MODEL (self->priv->store), &iter,
COLUMN_TIMEOUT, &timeout,
+ COLUMN_STATUS, &old_status,
COLUMN_PRESENCE, &old_presence, -1);
// We already know the presence status
if (old_presence && presence == old_presence) {
g_free (old_presence);
+ if (old_status && presentity->get_status () != old_status)
+ gtk_tree_store_set (self->priv->store, &iter,
+ COLUMN_STATUS, presentity->get_status ().c_str (), -1);
+ g_free (old_status);
return;
}
+ g_free (old_status);
if (timeout > 0)
g_source_remove (timeout);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]