comparison gtk/gtkimhtml.c @ 14801:1986872f2868

[gaim-migrate @ 17566] fix searching in an empty conversation (SF bug #1582852) committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Mon, 23 Oct 2006 18:10:51 +0000
parents f7b0c1a4b9a7
children fd321da41de4
comparison
equal deleted inserted replaced
14800:c678034a7e3e 14801:1986872f2868
3529 3529
3530 gboolean gtk_imhtml_search_find(GtkIMHtml *imhtml, const gchar *text) 3530 gboolean gtk_imhtml_search_find(GtkIMHtml *imhtml, const gchar *text)
3531 { 3531 {
3532 GtkTextIter iter, start, end; 3532 GtkTextIter iter, start, end;
3533 gboolean new_search = TRUE; 3533 gboolean new_search = TRUE;
3534 GtkTextMark *start_mark;
3534 3535
3535 g_return_val_if_fail(imhtml != NULL, FALSE); 3536 g_return_val_if_fail(imhtml != NULL, FALSE);
3536 g_return_val_if_fail(text != NULL, FALSE); 3537 g_return_val_if_fail(text != NULL, FALSE);
3537 3538
3538 if (imhtml->search_string && !strcmp(text, imhtml->search_string)) 3539 start_mark = gtk_text_buffer_get_mark(imhtml->text_buffer, "search");
3540
3541 if (start_mark && imhtml->search_string && !strcmp(text, imhtml->search_string))
3539 new_search = FALSE; 3542 new_search = FALSE;
3540 3543
3541 if (new_search) { 3544 if (new_search) {
3542 gtk_imhtml_search_clear(imhtml); 3545 gtk_imhtml_search_clear(imhtml);
3546 g_free(imhtml->search_string);
3547 imhtml->search_string = g_strdup(text);
3543 gtk_text_buffer_get_start_iter(imhtml->text_buffer, &iter); 3548 gtk_text_buffer_get_start_iter(imhtml->text_buffer, &iter);
3544 } else { 3549 } else {
3545 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &iter, 3550 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &iter,
3546 gtk_text_buffer_get_mark(imhtml->text_buffer, "search")); 3551 start_mark);
3547 } 3552 }
3548 g_free(imhtml->search_string);
3549 imhtml->search_string = g_strdup(text);
3550 3553
3551 if (gtk_source_iter_forward_search(&iter, imhtml->search_string, 3554 if (gtk_source_iter_forward_search(&iter, imhtml->search_string,
3552 GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_CASE_INSENSITIVE, 3555 GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_CASE_INSENSITIVE,
3553 &start, &end, NULL)) 3556 &start, &end, NULL))
3554 { 3557 {