From 7fb00c919e4f415019ed2a2f5713a868e9968d04 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Mon, 28 Nov 2011 12:03:02 -0600 Subject: [PATCH] [path-bar] Add some comments to explain the async recursion on an I/O callback Signed-off-by: Federico Mena Quintero --- gtk/gtkpathbar.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index 35dc8bf249..d1afca68f3 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -1824,17 +1824,23 @@ gtk_path_bar_get_info_callback (GCancellable *cancellable, if (BUTTON_IS_FAKE_ROOT (button_data)) file_info->fake_root = file_info->new_buttons; + /* We have assigned the info for the innermost button, i.e. the deepest directory. + * Now, go on to fetch the info for this directory's parent. + */ + file_info->file = file_info->parent_file; file_info->first_directory = FALSE; if (!file_info->file) { + /* No parent? Okay, we are done. */ gtk_path_bar_set_file_finish (file_info, TRUE); return; } file_info->parent_file = g_file_get_parent (file_info->file); + /* Recurse asynchronously */ file_info->path_bar->get_info_cancellable = _gtk_file_system_get_info (file_info->path_bar->file_system, file_info->file,