* added files {arch}/rhythmbox/rhythmbox--bugs/rhythmbox--bugs--0.9/jonathan@kaolin.hn.org--2005/patch-log/patch-39 * modified files --- orig/shell/rb-source-header.c +++ mod/shell/rb-source-header.c @@ -260,7 +260,7 @@ header); rb_search_entry_set_text (RB_SEARCH_ENTRY (header->priv->search), - temp); + temp, FALSE); g_free (temp); } g_signal_connect_object (G_OBJECT (header->priv->selected_source), @@ -365,7 +365,7 @@ searchtext = eel_gconf_get_string (header->priv->search_key); rb_search_entry_set_text (RB_SEARCH_ENTRY (header->priv->search), - searchtext); + searchtext, TRUE); rb_source_search (header->priv->selected_source, searchtext); --- orig/widgets/rb-search-entry.c +++ mod/widgets/rb-search-entry.c @@ -183,8 +183,14 @@ } void -rb_search_entry_set_text (RBSearchEntry *entry, const char *text) +rb_search_entry_set_text (RBSearchEntry *entry, const char *text, gboolean if_not_editing) { + /* don't change the entry text while the + * user is possibly still editing it + */ + if (if_not_editing && entry->priv->timeout != 0) + return; + gtk_entry_set_text (GTK_ENTRY (entry->priv->entry), text ? text : ""); } --- orig/widgets/rb-search-entry.h +++ mod/widgets/rb-search-entry.h @@ -56,7 +56,7 @@ void rb_search_entry_clear (RBSearchEntry *entry); -void rb_search_entry_set_text (RBSearchEntry *entry, const char *text); +void rb_search_entry_set_text (RBSearchEntry *entry, const char *text, gboolean if_not_editing); gboolean rb_search_entry_searching(RBSearchEntry *entry);