| 235 g_value_unset(&val1); |
235 g_value_unset(&val1); |
| 236 |
236 |
| 237 gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, BAD_COLUMN, &val1); |
237 gtk_tree_model_get_value(GTK_TREE_MODEL(model), &iter, BAD_COLUMN, &val1); |
| 238 bad = g_value_get_string(&val1); |
238 bad = g_value_get_string(&val1); |
| 239 |
239 |
| 240 if ((case_sensitive && !strcmp(bad, word)) || |
240 if ((case_sensitive && purple_strequal(bad, word)) || |
| 241 (!case_sensitive && (!strcmp(bad, lowerword) || |
241 (!case_sensitive && (purple_strequal(bad, lowerword) || |
| 242 (!is_word_lowercase(bad) && |
242 (!is_word_lowercase(bad) && |
| 243 !strcmp((tmpbad = g_utf8_casefold(bad, -1)), foldedword))))) |
243 purple_strequal((tmpbad = g_utf8_casefold(bad, -1)), foldedword))))) |
| 244 { |
244 { |
| 245 GValue val2; |
245 GValue val2; |
| 246 const char *good; |
246 const char *good; |
| 247 |
247 |
| 248 g_free(tmpbad); |
248 g_free(tmpbad); |
| 1945 |
1945 |
| 1946 /* If they're both case-sensitive, then compare directly. |
1946 /* If they're both case-sensitive, then compare directly. |
| 1947 * Otherwise, they overlap. */ |
1947 * Otherwise, they overlap. */ |
| 1948 if (g_value_get_boolean(&case_sensitive_val)) |
1948 if (g_value_get_boolean(&case_sensitive_val)) |
| 1949 { |
1949 { |
| 1950 match = !strcmp(g_value_get_string(&bad_val), word); |
1950 match = purple_strequal(g_value_get_string(&bad_val), word); |
| 1951 } |
1951 } |
| 1952 else |
1952 else |
| 1953 { |
1953 { |
| 1954 char *bad = g_utf8_casefold(g_value_get_string(&bad_val), -1); |
1954 char *bad = g_utf8_casefold(g_value_get_string(&bad_val), -1); |
| 1955 match = !strcmp(bad, tmpword); |
1955 match = purple_strequal(bad, tmpword); |
| 1956 g_free(bad); |
1956 g_free(bad); |
| 1957 } |
1957 } |
| 1958 g_value_unset(&case_sensitive_val); |
1958 g_value_unset(&case_sensitive_val); |
| 1959 } |
1959 } |
| 1960 else |
1960 else |
| 1961 { |
1961 { |
| 1962 char *bad = g_utf8_casefold(g_value_get_string(&bad_val), -1); |
1962 char *bad = g_utf8_casefold(g_value_get_string(&bad_val), -1); |
| 1963 match = !strcmp(bad, tmpword); |
1963 match = purple_strequal(bad, tmpword); |
| 1964 g_free(bad); |
1964 g_free(bad); |
| 1965 } |
1965 } |
| 1966 |
1966 |
| 1967 if (match) { |
1967 if (match) { |
| 1968 g_value_unset(&bad_val); |
1968 g_value_unset(&bad_val); |
| 2229 gtk_tree_view_column_set_resizable(column, TRUE); |
2229 gtk_tree_view_column_set_resizable(column, TRUE); |
| 2230 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); |
2230 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); |
| 2231 |
2231 |
| 2232 gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)), |
2232 gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)), |
| 2233 GTK_SELECTION_MULTIPLE); |
2233 GTK_SELECTION_MULTIPLE); |
| 2234 gtk_box_pack_start(GTK_BOX(vbox), |
2234 gtk_box_pack_start(GTK_BOX(vbox), |
| 2235 pidgin_make_scrollable(tree, GTK_POLICY_NEVER, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1), |
2235 pidgin_make_scrollable(tree, GTK_POLICY_NEVER, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1), |
| 2236 TRUE, TRUE, 0); |
2236 TRUE, TRUE, 0); |
| 2237 gtk_widget_show(tree); |
2237 gtk_widget_show(tree); |
| 2238 |
2238 |
| 2239 hbox = gtk_hbutton_box_new(); |
2239 hbox = gtk_hbutton_box_new(); |
| 2240 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2240 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |