summaryrefslogtreecommitdiff
path: root/libpurple/savedstatuses.c
diff options
context:
space:
mode:
authorPaul Aurich <darkrain42@pidgin.im>2009-04-28 15:47:36 +0000
committerPaul Aurich <darkrain42@pidgin.im>2009-04-28 15:47:36 +0000
commit3fdb64ea9a88984b5cd7de24411bb74853e33dba (patch)
treea1579d84007e4f80acbd6b5712e48547c9828619 /libpurple/savedstatuses.c
parentb82d3490d5a6929ad9951e4e78ac0c24d1072121 (diff)
downloadpidgin-3fdb64ea9a88984b5cd7de24411bb74853e33dba.tar.gz
Adjust some idle handling code to fix "wedging" idle reporting into never
reporting idle properly until restarting Pidgin. Fixes #2002. committer: John Bailey <rekkanoryo@rekkanoryo.org>
Diffstat (limited to 'libpurple/savedstatuses.c')
-rw-r--r--libpurple/savedstatuses.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libpurple/savedstatuses.c b/libpurple/savedstatuses.c
index 2f7baf1a3a..21c28ed168 100644
--- a/libpurple/savedstatuses.c
+++ b/libpurple/savedstatuses.c
@@ -870,15 +870,15 @@ purple_savedstatus_set_idleaway(gboolean idleaway)
/* Don't need to do anything */
return;
- /* Changing our status makes us un-idle */
- if (!idleaway)
- purple_idle_touch();
-
old = purple_savedstatus_get_current();
saved_status = idleaway ? purple_savedstatus_get_idleaway()
: purple_savedstatus_get_default();
purple_prefs_set_bool("/purple/savedstatus/isidleaway", idleaway);
+ /* Changing our status makes us un-idle */
+ if (!idleaway)
+ purple_idle_touch();
+
if (idleaway && (purple_savedstatus_get_type(old) != PURPLE_STATUS_AVAILABLE))
/* Our global status is already "away," so don't change anything */
return;