aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/im-application-list.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/im-application-list.c b/src/im-application-list.c
index bba7972..39e10e7 100644
--- a/src/im-application-list.c
+++ b/src/im-application-list.c
@@ -713,15 +713,21 @@ im_application_list_source_changed (Application *app,
gint64 time;
const gchar *string;
gboolean draws_attention;
+ gboolean old_draw;
g_variant_get (source, "(&s&s&sux&sb)",
&id, &label, &iconstr, &count, &time, &string, &draws_attention);
+ old_draw = app_source_action_check_draw(app, id);
+
g_action_group_change_action_state (G_ACTION_GROUP (app->source_actions), id,
g_variant_new ("(uxsb)", count, time, string, draws_attention));
g_signal_emit (app->list, signals[SOURCE_CHANGED], 0, app->id, id, label, iconstr);
+ if (!old_draw && draws_attention)
+ app->draws_attention = TRUE;
+
im_application_list_update_draws_attention (app->list);
}