plugins/idle.c

changeset 11972
23ac6d9de1fa
parent 11754
a1e9b517aa5e
child 11974
75e539119717
equal deleted inserted replaced
11971:96e1ff18a312 11972:23ac6d9de1fa
47 } 47 }
48 48
49 static void 49 static void
50 set_idle_time(GaimAccount *acct, int mins_idle) 50 set_idle_time(GaimAccount *acct, int mins_idle)
51 { 51 {
52 time_t t = time(NULL); /* grab the current time */ 52 time_t t;
53 GaimConnection *gc = gaim_account_get_connection(acct); 53 GaimConnection *gc = gaim_account_get_connection(acct);
54 GaimPresence *presence = gaim_account_get_presence(acct); 54 GaimPresence *presence = gaim_account_get_presence(acct);
55 55
56 if (!gc) 56 if (!gc)
57 return; 57 return;
58 58
59 gaim_debug_info("idle", 59 gaim_debug_info("idle",
60 "setting idle time for %s to %d\n", 60 "setting idle time for %s to %d\n",
61 gaim_account_get_username(acct), mins_idle); 61 gaim_account_get_username(acct), mins_idle);
62 62
63 t -= 60 * mins_idle; /* subtract seconds idle from current time */ 63 t -= time(NULL) - (60 * mins_idle); /* subtract seconds idle from current time */
64 gc->last_sent_time = t; 64 gc->last_sent_time = t;
65 gc->is_idle = 0;
66 65
67 gaim_presence_set_idle(presence, mins_idle ? TRUE : FALSE, t); 66 gaim_presence_set_idle(presence, mins_idle ? TRUE : FALSE, t);
68 } 67 }
69 68
70 static void 69 static void

mercurial