Mercurial > pidgin.yaz
diff src/away.c @ 1254:9da444224f0e
[gaim-migrate @ 1264]
bmiller's away-on-signon patch. does --away=mesg use "mesg" or the away message titled "mesg"? i didn't look hehe. but if it uses "mesg" instead of the away message titled "mesg" then i'm not sure it works.... i figured someone would report a bug if it didn't work
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Thu, 14 Dec 2000 00:11:59 +0000 |
parents | b5783215b245 |
children | 07f0bb41bbe1 |
line wrap: on
line diff
--- a/src/away.c Wed Dec 13 23:59:46 2000 +0000 +++ b/src/away.c Thu Dec 14 00:11:59 2000 +0000 @@ -40,7 +40,7 @@ GtkWidget *awaymenu = NULL; struct away_message *awaymessage = NULL; -int default_away; +struct away_message *default_away; int auto_away; static void destroy_im_away() @@ -103,6 +103,9 @@ if (!blist) return; + if (!a) + return; + #ifdef USE_APPLET remove_applet_away(); applet_widget_register_callback(APPLET_WIDGET(applet), @@ -181,7 +184,7 @@ void rem_away_mess(GtkWidget *w, struct away_message *a) { - struct away_message *default_msg; + int default_index; #ifdef USE_APPLET char *awayname; awayname = g_malloc(sizeof(*awayname) * (6 + strlen(a->name))); @@ -191,11 +194,13 @@ applet_widget_unregister_callback(APPLET_WIDGET(applet), awayname); g_free(awayname); #endif - default_msg = g_slist_nth_data(away_messages, default_away); - away_messages = g_slist_remove(away_messages, a); - default_away = g_slist_index(away_messages, default_msg); - if (default_away == -1) - default_away = 0; + default_index = g_slist_index(away_messages, default_away); + if (default_index == -1) { + if (away_messages != NULL) + default_away = away_messages->data; + else + default_away = NULL; + } g_free(a); do_away_menu(); save_prefs();