From: Mark D. <the...@us...> - 2005-11-29 01:21:14
|
Update of /cvsroot/gaim/gaim/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15304/src Modified Files: gtkidle.c gtkidle.h Log Message: Fix auto-away when your auto-away time is greater than 10 minutes. Anyone know why idleness isn't always being correctly reported? It happened in my primary instance of Gaim but I can't reproduce it with my test accounts. Index: gtkidle.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkidle.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -p -r1.8 -r1.9 --- gtkidle.c 21 Nov 2005 23:47:59 -0000 1.8 +++ gtkidle.c 29 Nov 2005 01:21:04 -0000 1.9 @@ -121,19 +121,23 @@ get_idle_time_from_system() * 2. Set or unset your auto-away message. * 3. Report your current idle time to the IM server. */ -gint +/* + * TODO: Make this loop so it's only called once, and handles all accounts? + */ +static gint gaim_gtk_idle_check(gpointer data) { GaimConnection *gc = (GaimConnection *)data; gboolean report_idle; GaimAccount *account; GaimPresence *presence; + GaimStatus *status; time_t t; int idle_time; account = gaim_connection_get_account(gc); - presence = gaim_account_get_presence(account); + status = gaim_presence_get_active_status(presence); gaim_signal_emit(gaim_blist_get_handle(), "update-idle"); @@ -157,7 +161,7 @@ gaim_gtk_idle_check(gpointer data) (idle_time > (60 * gaim_prefs_get_int("/core/away/mins_before_away"))) && (!gc->is_auto_away)) { - if (gaim_presence_is_available(presence)) + if (gaim_status_is_available(status)) { GaimSavedStatus *saved_status; @@ -263,7 +267,6 @@ gaim_gtk_idle_init() gaim_signal_connect(gaim_conversations_get_handle(), "sent-im-msg", gaim_gtk_idle_get_handle(), GAIM_CALLBACK(im_msg_sent_cb), NULL); - gaim_signal_connect(gaim_connections_get_handle(), "signed-on", gaim_gtk_idle_get_handle(), GAIM_CALLBACK(connection_connected_cb), NULL); Index: gtkidle.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkidle.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -p -r1.2 -r1.3 --- gtkidle.h 12 Nov 2005 15:27:41 -0000 1.2 +++ gtkidle.h 29 Nov 2005 01:21:04 -0000 1.3 @@ -41,14 +41,6 @@ void gaim_gtk_idle_init(void); */ void gaim_gtk_idle_uninit(void); -/** - * Check the current idle time, reporting to the server or going auto-away as - * appropriate. - * - * @param data A pointer to the GaimConnection* to check - */ -gint gaim_gtk_idle_check(gpointer data); - /*@}*/ #endif /* _GAIM_GTK_IDLE_H_ */ |