# HG changeset patch # User Rob Flynn # Date 978685669 0 # Node ID 595a844dbe0b2060fcce669410fdbf6b5b2df048 # Parent f8f9c68960ea3f1c6877a4a4dcbcdc1ae56d38c2 [gaim-migrate @ 1397] I'm bored. committer: Tailor Script diff -r f8f9c68960ea -r 595a844dbe0b ChangeLog --- a/ChangeLog Fri Jan 05 08:41:26 2001 +0000 +++ b/ChangeLog Fri Jan 05 09:07:49 2001 +0000 @@ -4,6 +4,7 @@ * Minor GUI changes * ICQ Alias problem fixed * Negative times fixed + * Cannot create blank away messages/messages with blank titles version 0.11.0-pre4: * ICQ upgraded to use icqlib 1.1.0 diff -r f8f9c68960ea -r 595a844dbe0b src/dialogs.c --- a/src/dialogs.c Fri Jan 05 08:41:26 2001 +0000 +++ b/src/dialogs.c Fri Jan 05 09:07:49 2001 +0000 @@ -3065,6 +3065,7 @@ am = g_new0(struct away_message, 1); else am = ca->mess; + g_snprintf(am->name, sizeof(am->name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); text_len = gtk_text_get_length(GTK_TEXT(ca->text)); away_message = gtk_editable_get_chars(GTK_EDITABLE(ca->text), 0, text_len); @@ -3084,8 +3085,30 @@ return am; } +int check_away_mess(struct create_away *ca, int type) +{ + if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) + { + /* We shouldn't allow a blank title */ + do_error_dialog(_("You cannot create an away message with a blank title"), _("Gaim - Error")); + return 0; + } + + if ((gtk_text_get_length(GTK_TEXT(ca->text)) == 0) && (type <= 1)) + { + /* We shouldn't allow a blank message */ + do_error_dialog(_("You cannot create an empty away message"), _("Gaim - Error")); + return 0; + } + + return 1; +} + void save_away_mess(GtkWidget *widget, struct create_away *ca) { + if (!check_away_mess(ca, 1)) + return; + save_away_message(ca); destroy_dialog(NULL, ca->window); g_free(ca); @@ -3096,6 +3119,9 @@ static struct away_message am; guint text_len; gchar *away_message; + + if (!check_away_mess(ca, 0)) + return; g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); text_len = gtk_text_get_length(GTK_TEXT(ca->text)); @@ -3113,6 +3139,8 @@ void su_away_mess(GtkWidget *widget, struct create_away *ca) { + if (!check_away_mess(ca, 1)) + return; do_away_message(NULL, save_away_message(ca)); destroy_dialog(NULL, ca->window); g_free(ca);