[gtk+/filechooserentry: 5/53] filechooserentry: Reorganize function
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/filechooserentry: 5/53] filechooserentry: Reorganize function
- Date: Mon, 7 Nov 2011 14:25:36 +0000 (UTC)
commit 1d7734b288fdb02f1d7e5662af3cf4c39ca9765a
Author: Benjamin Otte <otte redhat com>
Date: Fri Oct 28 05:38:11 2011 -0700
filechooserentry: Reorganize function
Setter functions the way I code it look like this (in order):
1) Figure out if the value changed. If not, exit early.
2) Clear the old value (ie unref stuff, disconnect signals
3) Copy the new value
4) Set up things about the new value
This reorganization does that.
And by doing that, it even reduces the amount of code and the amount of
branches (and with it, nesting) needed.
gtk/gtkfilechooserentry.c | 33 +++++++++++----------------------
1 files changed, 11 insertions(+), 22 deletions(-)
---
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c
index 829b529..d365d71 100644
--- a/gtk/gtkfilechooserentry.c
+++ b/gtk/gtkfilechooserentry.c
@@ -1497,34 +1497,23 @@ reload_current_folder (GtkFileChooserEntry *chooser_entry,
GFile *folder_file,
gboolean force_reload)
{
- gboolean reload = FALSE;
-
g_assert (folder_file != NULL);
- if (chooser_entry->current_folder_file)
- {
- if ((!(g_file_equal (folder_file, chooser_entry->current_folder_file)
- && chooser_entry->load_folder_cancellable))
- || force_reload)
- {
- reload = TRUE;
-
- discard_current_folder (chooser_entry);
- discard_loading_and_current_folder_file (chooser_entry);
+ if (chooser_entry->current_folder_file
+ && g_file_equal (folder_file, chooser_entry->current_folder_file)
+ && chooser_entry->load_folder_cancellable
+ && !force_reload)
+ return REFRESH_OK;
- chooser_entry->current_folder_file = g_object_ref (folder_file);
- }
- }
- else
+ if (chooser_entry->current_folder_file)
{
- chooser_entry->current_folder_file = g_object_ref (folder_file);
- reload = TRUE;
+ discard_current_folder (chooser_entry);
+ discard_loading_and_current_folder_file (chooser_entry);
}
+
+ chooser_entry->current_folder_file = g_object_ref (folder_file);
- if (reload)
- return start_loading_current_folder (chooser_entry);
- else
- return REFRESH_OK;
+ return start_loading_current_folder (chooser_entry);
}
static RefreshStatus
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]