gint search_type = GPOINTER_TO_INT(gtk_object_get_user_data(
GTK_OBJECT(GTK_MENU_ITEM(gtk_menu_get_active(
GTK_MENU(summaryview->search_type))))));
- gchar *search_string = g_strdup(gtk_entry_get_text(
- GTK_ENTRY(summaryview->search_string)));
+ gchar *search_string = gtk_entry_get_text(GTK_ENTRY(summaryview->search_string));
gchar *searched_header = NULL;
not_killed = NULL;
- if(search_string)
- g_strdown(search_string);
-
- for(cur = mlist ; cur != NULL ; cur = g_slist_next(cur)) {
+ for (cur = mlist ; cur != NULL ; cur = g_slist_next(cur)) {
MsgInfo * msginfo = (MsgInfo *) cur->data;
+
switch (search_type) {
- case S_SEARCH_SUBJECT:
- searched_header = g_strdup(msginfo->subject);
- break;
- case S_SEARCH_FROM:
- searched_header = g_strdup(msginfo->from);
- break;
- case S_SEARCH_TO:
- searched_header = g_strdup(msginfo->to);
- break;
- default:
- printf("bug in search_type (=%d)\n",search_type);
+ case S_SEARCH_SUBJECT:
+ searched_header = msginfo->subject;
+ break;
+ case S_SEARCH_FROM:
+ searched_header = msginfo->from;
+ break;
+ case S_SEARCH_TO:
+ searched_header = msginfo->to;
+ break;
+ default:
+ debug_print("unknown search type (%d)\n", search_type);
+ break;
}
- if (searched_header)
- g_strdown(searched_header);
- if (searched_header
- && strstr(searched_header, search_string) != NULL)
+ if (searched_header && strcasestr(searched_header, search_string) != NULL)
not_killed = g_slist_append(not_killed, msginfo);
else
procmsg_msginfo_free(msginfo);
}
g_slist_free(mlist);
- g_free(search_string);
- g_free(searched_header);
mlist = not_killed;
}
{
static gchar date_modified[80];
static gchar *to = NULL;
- static gchar *from = NULL;
static gchar col_score[11];
static gchar buf[BUFFSIZE];
gint *col_pos = summaryview->col_pos;
g_free(to);
to = g_strconcat("-->", addr == NULL ? msginfo->to : addr, NULL);
text[col_pos[S_COL_FROM]] = to;
+ g_free(addr);
}
} else {
if (cur_account && cur_account->address && !strcmp( addr, cur_account->address)) {
* the --> in sent boxes) was executed.
*/
if (text[col_pos[S_COL_FROM]] != to && prefs_common.use_addr_book && msginfo->from) {
- g_free(from);
- from = summary_complete_address(msginfo->from);
- if (from)
- text[col_pos[S_COL_FROM]] = from;
+ gchar *from = summary_complete_address(msginfo->from);
+ if (from) {
+ g_free(to);
+ to = from;
+ text[col_pos[S_COL_FROM]] = to;
+ }
}
if (summaryview->simplify_subject_preg != NULL)
pixmap = stock_pixmap_widget(summaryview->hbox, STOCK_PIXMAP_DIR_OPEN);
gtk_box_pack_start(GTK_BOX(summaryview->hbox), pixmap, FALSE, FALSE, 4);
- gtk_box_reorder_child(GTK_BOX(summaryview->hbox), pixmap, 0);
+ gtk_box_reorder_child(GTK_BOX(summaryview->hbox), pixmap, 1); /* search_toggle before */
gtk_widget_show(pixmap);
summaryview->folder_pixmap = pixmap;