[glade] Use g_list_free_full() instead of g_list_foreach() + g_list_free()



commit 80de73f0b4d904e77164399811a5d7da7ecf47f3
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Mon Aug 17 16:31:55 2020 -0300

    Use g_list_free_full() instead of g_list_foreach() + g_list_free()
    
    Also fix -Wcast-function-type warnings

 gladeui/glade-base-editor.c       |  9 +++++++--
 gladeui/glade-catalog.c           | 10 ++--------
 gladeui/glade-editor.c            | 18 ++++++++++--------
 gladeui/glade-inspector.c         |  3 +--
 gladeui/glade-placeholder.c       |  9 ++-------
 gladeui/glade-project.c           |  5 +----
 gladeui/glade-widget-action.c     |  5 +----
 gladeui/glade-widget.c            | 24 ++++++++----------------
 plugins/gtk+/glade-accels.c       |  6 +++---
 plugins/gtk+/glade-column-types.c |  3 +--
 plugins/gtk+/glade-gtk-grid.c     |  2 +-
 plugins/gtk+/glade-gtk-notebook.c |  5 ++---
 plugins/gtk+/glade-gtk-table.c    |  2 +-
 plugins/gtk+/glade-gtk-widget.c   |  3 +--
 plugins/gtk+/glade-icon-sources.c |  3 +--
 plugins/gtk+/glade-string-list.c  |  6 ++----
 16 files changed, 44 insertions(+), 69 deletions(-)
---
diff --git a/gladeui/glade-base-editor.c b/gladeui/glade-base-editor.c
index f96b62b7..31e764fc 100644
--- a/gladeui/glade-base-editor.c
+++ b/gladeui/glade-base-editor.c
@@ -410,14 +410,19 @@ glade_base_editor_table_attach (GladeBaseEditor *e,
   priv->row++;
 }
 
+static void
+destroy_widget (GtkWidget *widget, gpointer data)
+{
+  gtk_widget_destroy (widget);
+}
+
 static void
 glade_base_editor_clear (GladeBaseEditor *editor)
 {
   GladeBaseEditorPrivate *priv = glade_base_editor_get_instance_private (editor);
 
   gtk_widget_show (priv->tip_label);
-  gtk_container_foreach (GTK_CONTAINER (priv->table),
-                         (GtkCallback)gtk_widget_destroy, NULL);
+  gtk_container_foreach (GTK_CONTAINER (priv->table), destroy_widget, NULL);
   priv->row = 0;
   gtk_widget_set_sensitive (priv->delete_button, FALSE);
   glade_signal_editor_load_widget (priv->signal_editor, NULL);
diff --git a/gladeui/glade-catalog.c b/gladeui/glade-catalog.c
index b5040b3e..c629cc1c 100644
--- a/gladeui/glade-catalog.c
+++ b/gladeui/glade-catalog.c
@@ -151,16 +151,10 @@ catalog_destroy (GladeCatalog *catalog)
   g_free (catalog->init_function_name);
 
   if (catalog->adaptors)
-    {
-      g_list_free (catalog->adaptors);
-    }
+    g_list_free (catalog->adaptors);
 
   if (catalog->widget_groups)
-    {
-      g_list_foreach (catalog->widget_groups, (GFunc) widget_group_destroy,
-                      NULL);
-      g_list_free (catalog->widget_groups);
-    }
+    g_list_free_full (catalog->widget_groups, (GDestroyNotify) widget_group_destroy);
 
   g_clear_pointer (&catalog->context, glade_xml_context_free);
   g_slice_free (GladeCatalog, catalog);
diff --git a/gladeui/glade-editor.c b/gladeui/glade-editor.c
index 8948cc72..46f5c5e4 100644
--- a/gladeui/glade-editor.c
+++ b/gladeui/glade-editor.c
@@ -218,8 +218,7 @@ glade_editor_dispose (GObject *object)
   glade_editor_load_widget (editor, NULL);
 
   /* Unref all the cached pages */
-  g_list_foreach (priv->editables, (GFunc) g_object_unref, NULL);
-  priv->editables = (g_list_free (priv->editables), NULL);
+  g_list_free_full (priv->editables, g_object_unref);
 
   G_OBJECT_CLASS (glade_editor_parent_class)->dispose (object);
 }
@@ -1034,8 +1033,9 @@ static gboolean
 glade_editor_reset_foreach_selection (GtkTreeModel *model,
                                       GtkTreePath  *path,
                                       GtkTreeIter  *iter,
-                                      gboolean      select)
+                                      gpointer      data)
 {
+  gboolean select = GPOINTER_TO_INT (data);
   gboolean def;
 
   gtk_tree_model_get (model, iter, COLUMN_DEFAULT, &def, -1);
@@ -1052,7 +1052,7 @@ glade_editor_reset_select_all_clicked (GtkButton   *button,
                                        GtkTreeView *tree_view)
 {
   GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
-  gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc)
+  gtk_tree_model_foreach (model,
                           glade_editor_reset_foreach_selection,
                           GINT_TO_POINTER (TRUE));
 }
@@ -1062,7 +1062,7 @@ glade_editor_reset_unselect_all_clicked (GtkButton   *button,
                                          GtkTreeView *tree_view)
 {
   GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
-  gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc)
+  gtk_tree_model_foreach (model,
                           glade_editor_reset_foreach_selection,
                           GINT_TO_POINTER (FALSE));
 }
@@ -1071,8 +1071,9 @@ static gboolean
 glade_editor_reset_accumulate_selected_props (GtkTreeModel *model,
                                               GtkTreePath  *path,
                                               GtkTreeIter  *iter,
-                                              GList       **accum)
+                                              gpointer      data)
 {
+  GList **accum = data;
   GladeProperty *property;
   gboolean enabled, def;
 
@@ -1095,8 +1096,9 @@ glade_editor_reset_get_selected_props (GtkTreeModel *model)
 {
   GList *ret = NULL;
 
-  gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc)
-                          glade_editor_reset_accumulate_selected_props, &ret);
+  gtk_tree_model_foreach (model,
+                          glade_editor_reset_accumulate_selected_props,
+                          &ret);
 
   return ret;
 }
diff --git a/gladeui/glade-inspector.c b/gladeui/glade-inspector.c
index 9c176d52..33be0912 100644
--- a/gladeui/glade-inspector.c
+++ b/gladeui/glade-inspector.c
@@ -1103,8 +1103,7 @@ glade_inspector_get_selected_items (GladeInspector *inspector)
       items = g_list_prepend (items, glade_widget_get_from_gobject (object));
     }
 
-  g_list_foreach (paths, (GFunc) gtk_tree_path_free, NULL);
-  g_list_free (paths);
+  g_list_free_full (paths, (GDestroyNotify) gtk_tree_path_free);
 
   return items;
 }
diff --git a/gladeui/glade-placeholder.c b/gladeui/glade-placeholder.c
index 18b2d0bd..1263b2a5 100644
--- a/gladeui/glade-placeholder.c
+++ b/gladeui/glade-placeholder.c
@@ -95,9 +95,7 @@ glade_placeholder_notify_parent (GObject    *gobject,
 
   if (placeholder->priv->packing_actions)
     {
-      g_list_foreach (placeholder->priv->packing_actions, (GFunc) g_object_unref,
-                      NULL);
-      g_list_free (placeholder->priv->packing_actions);
+      g_list_free_full (placeholder->priv->packing_actions, g_object_unref);
       placeholder->priv->packing_actions = NULL;
     }
 
@@ -141,10 +139,7 @@ glade_placeholder_finalize (GObject *object)
   placeholder = GLADE_PLACEHOLDER (object);
 
   if (placeholder->priv->packing_actions)
-    {
-      g_list_foreach (placeholder->priv->packing_actions, (GFunc) g_object_unref, NULL);
-      g_list_free (placeholder->priv->packing_actions);
-    }
+    g_list_free_full (placeholder->priv->packing_actions, g_object_unref);
 
   G_OBJECT_CLASS (glade_placeholder_parent_class)->finalize (object);
 }
diff --git a/gladeui/glade-project.c b/gladeui/glade-project.c
index b6045009..4fb5a747 100644
--- a/gladeui/glade-project.c
+++ b/gladeui/glade-project.c
@@ -331,10 +331,7 @@ glade_project_finalize (GObject *object)
   g_free (priv->css_provider_path);
 
   if (priv->comments)
-    {
-      g_list_foreach (priv->comments, (GFunc) g_free, NULL);
-      g_list_free (priv->comments);
-    }
+    g_list_free_full (priv->comments, g_free);
 
   if (priv->unsaved_number > 0)
     glade_id_allocator_release (get_unsaved_number_allocator (),
diff --git a/gladeui/glade-widget-action.c b/gladeui/glade-widget-action.c
index 4e1540e2..859e4f22 100644
--- a/gladeui/glade-widget-action.c
+++ b/gladeui/glade-widget-action.c
@@ -72,10 +72,7 @@ glade_widget_action_finalize (GObject *object)
   GladeWidgetAction *action = GLADE_WIDGET_ACTION (object);
 
   if (action->priv->actions)
-    {
-      g_list_foreach (action->priv->actions, (GFunc) g_object_unref, NULL);
-      g_list_free (action->priv->actions);
-    }
+    g_list_free_full (action->priv->actions, g_object_unref);
 
   G_OBJECT_CLASS (glade_widget_action_parent_class)->finalize (object);
 }
diff --git a/gladeui/glade-widget.c b/gladeui/glade-widget.c
index 019e1b1c..a93cce8c 100644
--- a/gladeui/glade-widget.c
+++ b/gladeui/glade-widget.c
@@ -220,8 +220,7 @@ glade_widget_set_packing_actions (GladeWidget *widget,
 {
   if (widget->priv->packing_actions)
     {
-      g_list_foreach (widget->priv->packing_actions, (GFunc) g_object_unref, NULL);
-      g_list_free (widget->priv->packing_actions);
+      g_list_free_full (widget->priv->packing_actions, g_object_unref);
       widget->priv->packing_actions = NULL;
     }
 
@@ -1029,8 +1028,7 @@ glade_widget_dispose (GObject *object)
    * hence the reset (for object properties) */
   if (widget->priv->properties)
     {
-      g_list_foreach (widget->priv->properties, (GFunc) g_object_unref, NULL);
-      g_list_free (widget->priv->properties);
+      g_list_free_full (widget->priv->properties, g_object_unref);
       widget->priv->properties = NULL;
     }
   if (widget->priv->props_hash)
@@ -1043,22 +1041,19 @@ glade_widget_dispose (GObject *object)
 
   if (widget->priv->packing_properties)
     {
-      g_list_foreach (widget->priv->packing_properties, (GFunc) g_object_unref, NULL);
-      g_list_free (widget->priv->packing_properties);
+      g_list_free_full (widget->priv->packing_properties, g_object_unref);
       widget->priv->packing_properties = NULL;
     }
 
   if (widget->priv->actions)
     {
-      g_list_foreach (widget->priv->actions, (GFunc) g_object_unref, NULL);
-      g_list_free (widget->priv->actions);
+      g_list_free_full (widget->priv->actions, g_object_unref);
       widget->priv->actions = NULL;
     }
 
   if (widget->priv->packing_actions)
     {
-      g_list_foreach (widget->priv->packing_actions, (GFunc) g_object_unref, NULL);
-      g_list_free (widget->priv->packing_actions);
+      g_list_free_full (widget->priv->packing_actions, g_object_unref);
       widget->priv->packing_actions = NULL;
     }
 
@@ -1956,10 +1951,8 @@ glade_widget_set_properties (GladeWidget *widget, GList *properties)
   if (properties)
     {
       if (widget->priv->properties)
-        {
-          g_list_foreach (widget->priv->properties, (GFunc) g_object_unref, NULL);
-          g_list_free (widget->priv->properties);
-        }
+          g_list_free_full (widget->priv->properties, g_object_unref);
+
       if (widget->priv->props_hash)
         g_hash_table_destroy (widget->priv->props_hash);
 
@@ -3863,8 +3856,7 @@ glade_widget_set_packing_properties (GladeWidget *widget,
   if (widget->priv->rebuilding)
     return;
 
-  g_list_foreach (widget->priv->packing_properties, (GFunc) g_object_unref, NULL);
-  g_list_free (widget->priv->packing_properties);
+  g_list_free_full (widget->priv->packing_properties, g_object_unref);
   widget->priv->packing_properties = NULL;
 
   if (widget->priv->pack_props_hash)
diff --git a/plugins/gtk+/glade-accels.c b/plugins/gtk+/glade-accels.c
index 994e846b..479c7980 100644
--- a/plugins/gtk+/glade-accels.c
+++ b/plugins/gtk+/glade-accels.c
@@ -187,8 +187,9 @@ eprop_find_iter (GladeEpropIterTab * iter_tab, gchar * name)
 }
 
 static void
-iter_tab_free (GladeEpropIterTab * iter_tab)
+iter_tab_free (gpointer data)
 {
+  GladeEpropIterTab *iter_tab = data;
   gtk_tree_iter_free (iter_tab->iter);
   g_free (iter_tab);
 }
@@ -582,8 +583,7 @@ glade_eprop_accel_show_dialog (GladeEditorProperty *eprop)
 
   if (eprop_accel->parent_iters)
     {
-      g_list_foreach (eprop_accel->parent_iters, (GFunc) iter_tab_free, NULL);
-      g_list_free (eprop_accel->parent_iters);
+      g_list_free_full (eprop_accel->parent_iters, iter_tab_free);
       eprop_accel->parent_iters = NULL;
     }
 
diff --git a/plugins/gtk+/glade-column-types.c b/plugins/gtk+/glade-column-types.c
index 2f769211..80a50d04 100644
--- a/plugins/gtk+/glade-column-types.c
+++ b/plugins/gtk+/glade-column-types.c
@@ -186,8 +186,7 @@ glade_column_type_free (GladeColumnType * column)
 void
 glade_column_list_free (GList * list)
 {
-  g_list_foreach (list, (GFunc) glade_column_type_free, NULL);
-  g_list_free (list);
+  g_list_free_full (list, (GDestroyNotify) glade_column_type_free);
 }
 
 GladeColumnType *
diff --git a/plugins/gtk+/glade-gtk-grid.c b/plugins/gtk+/glade-gtk-grid.c
index a851b2e7..27f069d9 100644
--- a/plugins/gtk+/glade-gtk-grid.c
+++ b/plugins/gtk+/glade-gtk-grid.c
@@ -530,7 +530,7 @@ glade_gtk_grid_child_insert_remove_action (GladeWidgetAdaptor *adaptor,
 
   children = glade_widget_adaptor_get_children (adaptor, container);
   /* Make sure widgets does not get destroyed */
-  glade_util_object_list_ref (children);
+  glade_util_list_objects_ref (children);
 
   glade_widget_property_get (parent, n_row_col, &size);
 
diff --git a/plugins/gtk+/glade-gtk-notebook.c b/plugins/gtk+/glade-gtk-notebook.c
index 8847e5da..5d5170dc 100644
--- a/plugins/gtk+/glade-gtk-notebook.c
+++ b/plugins/gtk+/glade-gtk-notebook.c
@@ -1005,7 +1005,7 @@ glade_gtk_box_notebook_child_insert_remove_action (GladeWidgetAdaptor *adaptor,
 
   /* Make sure widgets does not get destroyed */
   children = glade_widget_adaptor_get_children (adaptor, container);
-  glade_util_object_list_ref (children);
+  glade_util_list_objects_ref (children);
 
   glade_widget_property_get (parent, size_prop, &size);
 
@@ -1085,7 +1085,6 @@ glade_gtk_box_notebook_child_insert_remove_action (GladeWidgetAdaptor *adaptor,
                            glade_widget_get_project (parent));
     }
 
-  g_list_foreach (children, (GFunc) g_object_unref, NULL);
-  g_list_free (children);
+  g_list_free_full (children, g_object_unref);
   glade_command_pop_group ();
 }
diff --git a/plugins/gtk+/glade-gtk-table.c b/plugins/gtk+/glade-gtk-table.c
index 2c67f338..1e51f790 100644
--- a/plugins/gtk+/glade-gtk-table.c
+++ b/plugins/gtk+/glade-gtk-table.c
@@ -563,7 +563,7 @@ glade_gtk_table_child_insert_remove_action (GladeWidgetAdaptor *adaptor,
 
   children = glade_widget_adaptor_get_children (adaptor, container);
   /* Make sure widgets does not get destroyed */
-  glade_util_object_list_ref (children);
+  glade_util_list_objects_ref (children);
 
   glade_widget_property_get (parent, n_row_col, &size);
 
diff --git a/plugins/gtk+/glade-gtk-widget.c b/plugins/gtk+/glade-gtk-widget.c
index 5bf06423..6061d8b9 100644
--- a/plugins/gtk+/glade-gtk-widget.c
+++ b/plugins/gtk+/glade-gtk-widget.c
@@ -978,8 +978,7 @@ glade_gtk_widget_action_activate (GladeWidgetAdaptor *adaptor,
               glade_project_undo (project);
             }
 
-          g_list_foreach (saved_props, (GFunc) g_object_unref, NULL);
-          g_list_free (saved_props);
+          g_list_free_full (saved_props, g_object_unref);
         }
     }
   else if (strcmp (action_path, "sizegroup_add") == 0)
diff --git a/plugins/gtk+/glade-icon-sources.c b/plugins/gtk+/glade-icon-sources.c
index 3ed25b83..c2bb57c9 100644
--- a/plugins/gtk+/glade-icon-sources.c
+++ b/plugins/gtk+/glade-icon-sources.c
@@ -49,9 +49,8 @@ static void
 icon_set_free (GList *list)
 {
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-  g_list_foreach (list, (GFunc) gtk_icon_source_free, NULL);
+  g_list_free_full (list, (GDestroyNotify) gtk_icon_source_free);
 G_GNUC_END_IGNORE_DEPRECATIONS
-  g_list_free (list);
 }
 
 
diff --git a/plugins/gtk+/glade-string-list.c b/plugins/gtk+/glade-string-list.c
index 2dd2e1c5..f9d2551f 100644
--- a/plugins/gtk+/glade-string-list.c
+++ b/plugins/gtk+/glade-string-list.c
@@ -109,8 +109,7 @@ glade_string_list_copy (GList *string_list)
 void
 glade_string_list_free (GList *string_list)
 {
-  g_list_foreach (string_list, (GFunc)glade_string_free, NULL);
-  g_list_free (string_list);
+  g_list_free_full (string_list, (GDestroyNotify) glade_string_free);
 }
 
 GType
@@ -632,8 +631,7 @@ treeview_key_press (GtkWidget           *treeview,
                 gtk_list_store_remove (GTK_LIST_STORE (eprop_string_list->model), &iter);
             }
 
-          g_list_foreach (selected_rows, (GFunc)gtk_tree_path_free, NULL);
-          g_list_free (selected_rows);
+          g_list_free_full (selected_rows, (GDestroyNotify) gtk_tree_path_free);
         }
       return TRUE;
     }


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