summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gtk/gtkfilechooserentry.c7
2 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 904c25806d..3cfdd98fd2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-01-22 Federico Mena Quintero <federico@novell.com>
+
+ * gtk/gtkfilechooserentry.c (autocomplete): Relax the assertion;
+ just do nothing if the folder is not loaded or if the cursor position
+ is not at the end of the text. A very slow-to-load folder can get
+ us into the latter state if the user starts typing first.
+
2008-01-22 Matthias Clasen <mnclasen@redhat.com>
* gtk/gtkaction.c: Revert the last change, since it breaks
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c
index 36c405524b..bb8b0511c4 100644
--- a/gtk/gtkfilechooserentry.c
+++ b/gtk/gtkfilechooserentry.c
@@ -1630,9 +1630,10 @@ refresh_current_folder_and_file_part (GtkFileChooserEntry *chooser_entry,
static void
autocomplete (GtkFileChooserEntry *chooser_entry)
{
- g_assert (chooser_entry->current_folder != NULL);
- g_assert (_gtk_folder_is_finished_loading (chooser_entry->current_folder));
- g_assert (gtk_editable_get_position (GTK_EDITABLE (chooser_entry)) == GTK_ENTRY (chooser_entry)->text_length);
+ if (!(chooser_entry->current_folder != NULL
+ && _gtk_folder_is_finished_loading (chooser_entry->current_folder)
+ && gtk_editable_get_position (GTK_EDITABLE (chooser_entry)) == GTK_ENTRY (chooser_entry)->text_length))
+ return;
append_common_prefix (chooser_entry, TRUE, FALSE);
}