From: Colin Leroy Date: Fri, 13 Apr 2007 16:18:45 +0000 (+0000) Subject: 2007-04-13 [colin] 2.8.1cvs96 X-Git-Tag: rel_2_9_0~7 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=4c1381a3885b553580a9df0cdc3735a019583752 2007-04-13 [colin] 2.8.1cvs96 * src/message_search.c * src/prefs_display_header.c * src/summary_search.c Fix possibles crashes when getting text from gtk combos --- diff --git a/ChangeLog b/ChangeLog index 45b6aecf4..9d1f61454 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-04-13 [colin] 2.8.1cvs96 + + * src/message_search.c + * src/prefs_display_header.c + * src/summary_search.c + Fix possibles crashes when getting text + from gtk combos + 2007-04-13 [colin] 2.8.1cvs95 * src/pop.c diff --git a/PATCHSETS b/PATCHSETS index 8adc20cc8..c4504adc1 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -2512,3 +2512,4 @@ ( cvs diff -u -r 1.115.2.151 -r 1.115.2.152 src/main.c; ) > 2.8.1cvs93.patchset ( cvs diff -u -r 1.213.2.140 -r 1.213.2.141 src/folder.c; ) > 2.8.1cvs94.patchset ( cvs diff -u -r 1.56.2.49 -r 1.56.2.50 src/pop.c; ) > 2.8.1cvs95.patchset +( cvs diff -u -r 1.3.12.24 -r 1.3.12.25 src/message_search.c; cvs diff -u -r 1.16.2.24 -r 1.16.2.25 src/prefs_display_header.c; cvs diff -u -r 1.15.2.45 -r 1.15.2.46 src/summary_search.c; ) > 2.8.1cvs96.patchset diff --git a/configure.ac b/configure.ac index d71a507f3..12a4b4626 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=8 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=95 +EXTRA_VERSION=96 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/message_search.c b/src/message_search.c index 6d03bdc51..afb8b4fe8 100644 --- a/src/message_search.c +++ b/src/message_search.c @@ -278,7 +278,7 @@ static void message_search_execute(gboolean backward) const gchar *body_str; body_str = gtk_combo_box_get_active_text(GTK_COMBO_BOX(search_window.body_entry)); - if (*body_str == '\0') return; + if (!body_str || *body_str == '\0') return; /* add to history */ combobox_unset_popdown_strings(GTK_COMBO_BOX(search_window.body_entry)); diff --git a/src/prefs_display_header.c b/src/prefs_display_header.c index c3f0a676c..c14388cf3 100644 --- a/src/prefs_display_header.c +++ b/src/prefs_display_header.c @@ -561,7 +561,7 @@ static void prefs_display_header_list_view_set_row(gboolean hidden) GtkTreeModel *model; entry_text = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dispheader.hdr_combo)); - if (entry_text[0] == '\0') { + if (!entry_text || entry_text[0] == '\0') { alertpanel_error(_("Header name is not set.")); return; } diff --git a/src/summary_search.c b/src/summary_search.c index 09eaba11e..22e135b9d 100644 --- a/src/summary_search.c +++ b/src/summary_search.c @@ -524,7 +524,7 @@ static void summary_search_execute(gboolean backward, gboolean search_all) search_window.matcher_list = NULL; } adv_condition = gtk_combo_box_get_active_text(GTK_COMBO_BOX(search_window.adv_condition_entry)); - if (adv_condition[0] != '\0') { + if (adv_condition && adv_condition[0] != '\0') { /* add to history */ combobox_unset_popdown_strings(GTK_COMBO_BOX(search_window.adv_condition_entry)); @@ -561,6 +561,12 @@ static void summary_search_execute(gboolean backward, gboolean search_all) subject_str = gtk_combo_box_get_active_text(GTK_COMBO_BOX(search_window.subject_entry)); body_str = gtk_combo_box_get_active_text(GTK_COMBO_BOX(search_window.body_entry)); + if (!from_str || !to_str || !subject_str || !body_str) { + /* TODO: warn if no search criteria? (or make buttons enabled only when + * at least one search criteria has been set */ + summary_unlock(summaryview); + return; + } if ( (from_str[0] == '\0') && (to_str[0] == '\0') && (subject_str[0] == '\0') && @@ -841,7 +847,7 @@ static void adv_condition_btn_clicked(GtkButton *button, gpointer data) /* re-use the current search value if it's a condition expression, otherwise ignore it silently */ cond_str = gtk_combo_box_get_active_text(GTK_COMBO_BOX(search_window.adv_condition_entry)); - if (*cond_str != '\0') { + if (cond_str && *cond_str != '\0') { matchers = matcher_parser_get_cond((gchar*)cond_str, NULL); }