[gtk+] sizegroups: Restructure code



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]