[gtk+] widget: Don't try to propagate 0 state flags



commit 8c08a3322038cd4137250136651d29bec6f52b34
Author: Timm Bäder <mail baedert org>
Date:   Tue Aug 1 21:30:20 2017 +0200

    widget: Don't try to propagate 0 state flags
    
    This happens quite often and has no effect anyway.

 gtk/gtkwidget.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index a479eda..a034614 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -10933,11 +10933,15 @@ gtk_widget_propagate_state (GtkWidget    *widget,
       child_data.flags_to_set = data->flags_to_set & GTK_STATE_FLAGS_DO_PROPAGATE;
       child_data.flags_to_unset = data->flags_to_unset & GTK_STATE_FLAGS_DO_PROPAGATE;
 
-      for (child = _gtk_widget_get_first_child (widget);
-           child != NULL;
-           child = _gtk_widget_get_next_sibling (child))
+      if (child_data.flags_to_set != 0 ||
+          child_data.flags_to_unset != 0)
         {
-          gtk_widget_propagate_state (child, &child_data);
+          for (child = _gtk_widget_get_first_child (widget);
+               child != NULL;
+               child = _gtk_widget_get_next_sibling (child))
+            {
+              gtk_widget_propagate_state (child, &child_data);
+            }
         }
 
       g_object_unref (widget);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]