[gtk+] sizegroups: Restructure code
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] sizegroups: Restructure code
- Date: Sun, 4 Nov 2012 14:35:26 +0000 (UTC)
commit 8796fe6d1c6838c41a0cae75fd532d59498b631d
Author: Benjamin Otte <otte redhat com>
Date: Thu Nov 1 23:58:23 2012 +0100
sizegroups: Restructure code
This way, we do the checks at the start of the effected function, not
before calling it.
gtk/gtksizegroup.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtksizegroup.c b/gtk/gtksizegroup.c
index 4ab1850..1669fde 100644
--- a/gtk/gtksizegroup.c
+++ b/gtk/gtksizegroup.c
@@ -177,6 +177,9 @@ add_group_to_closure (GtkSizeGroup *group,
GtkSizeGroupPrivate *priv = group->priv;
GSList *tmp_widgets;
+ if (priv->visited)
+ return;
+
*groups = g_slist_prepend (*groups, group);
priv->visited = TRUE;
@@ -185,8 +188,7 @@ add_group_to_closure (GtkSizeGroup *group,
{
GtkWidget *tmp_widget = tmp_widgets->data;
- if (!_gtk_widget_get_sizegroup_visited (tmp_widget))
- add_widget_to_closure (tmp_widget, mode, groups, widgets);
+ add_widget_to_closure (tmp_widget, mode, groups, widgets);
tmp_widgets = tmp_widgets->next;
}
@@ -200,6 +202,9 @@ add_widget_to_closure (GtkWidget *widget,
{
GSList *tmp_groups;
+ if (_gtk_widget_get_sizegroup_visited (widget))
+ return;
+
*widgets = g_slist_prepend (*widgets, widget);
_gtk_widget_set_sizegroup_visited (widget, TRUE);
@@ -209,8 +214,7 @@ add_widget_to_closure (GtkWidget *widget,
GtkSizeGroup *tmp_group = tmp_groups->data;
GtkSizeGroupPrivate *tmp_priv = tmp_group->priv;
- if ((tmp_priv->mode == GTK_SIZE_GROUP_BOTH || tmp_priv->mode == mode) &&
- !tmp_group->priv->visited)
+ if (tmp_priv->mode == GTK_SIZE_GROUP_BOTH || tmp_priv->mode == mode)
add_group_to_closure (tmp_group, mode, groups, widgets);
tmp_groups = tmp_groups->next;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]