[gtk] Use g_clear_pointer to unparent widgets



commit 359d874ddbbc193fd0490fcfe18e96bc1b89619b
Author: Timm Bäder <mail baedert org>
Date:   Tue Nov 13 20:53:14 2018 +0100

    Use g_clear_pointer to unparent widgets

 gtk/gtkcenterbox.c         | 20 +++-----------------
 gtk/gtkcheckbutton.c       |  3 +--
 gtk/gtkcolorswatch.c       |  6 +-----
 gtk/gtkentry.c             |  3 +--
 gtk/gtkfontchooserwidget.c |  6 +-----
 gtk/gtkmenuitem.c          | 13 ++-----------
 gtk/gtknotebook.c          |  6 +-----
 gtk/gtkprogressbar.c       |  9 ++-------
 gtk/gtkrange.c             | 19 ++++++-------------
 gtk/gtkscale.c             | 18 ++++--------------
 gtk/gtkscrollbar.c         |  6 +-----
 gtk/gtksearchbar.c         |  6 +-----
 gtk/gtkstatusbar.c         |  6 +-----
 gtk/gtktoolbar.c           |  6 +-----
 14 files changed, 26 insertions(+), 101 deletions(-)
---
diff --git a/gtk/gtkcenterbox.c b/gtk/gtkcenterbox.c
index c99d71e262..07bb9cc807 100644
--- a/gtk/gtkcenterbox.c
+++ b/gtk/gtkcenterbox.c
@@ -622,23 +622,9 @@ gtk_center_box_dispose (GObject *object)
 {
   GtkCenterBox *self = GTK_CENTER_BOX (object);
 
-  if (self->start_widget)
-    {
-      gtk_widget_unparent (self->start_widget);
-      self->start_widget = NULL;
-    }
-
-  if (self->center_widget)
-    {
-      gtk_widget_unparent (self->center_widget);
-      self->center_widget = NULL;
-    }
-
-  if (self->end_widget)
-    {
-      gtk_widget_unparent (self->end_widget);
-      self->end_widget = NULL;
-    }
+  g_clear_pointer (&self->start_widget, gtk_widget_unparent);
+  g_clear_pointer (&self->center_widget, gtk_widget_unparent);
+  g_clear_pointer (&self->end_widget, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_center_box_parent_class)->dispose (object);
 }
diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c
index 09cecb126b..1be4a1e3a8 100644
--- a/gtk/gtkcheckbutton.c
+++ b/gtk/gtkcheckbutton.c
@@ -135,8 +135,7 @@ gtk_check_button_finalize (GObject *object)
 {
   GtkCheckButtonPrivate *priv = gtk_check_button_get_instance_private (GTK_CHECK_BUTTON (object));
 
-  if (priv->indicator_widget)
-    gtk_widget_unparent (priv->indicator_widget);
+  g_clear_pointer (&priv->indicator_widget, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_check_button_parent_class)->finalize (object);
 }
diff --git a/gtk/gtkcolorswatch.c b/gtk/gtkcolorswatch.c
index b1678fefe6..516326e6c1 100644
--- a/gtk/gtkcolorswatch.c
+++ b/gtk/gtkcolorswatch.c
@@ -509,11 +509,7 @@ swatch_dispose (GObject *object)
   GtkColorSwatch *swatch = GTK_COLOR_SWATCH (object);
   GtkColorSwatchPrivate *priv = gtk_color_swatch_get_instance_private (swatch);
 
-  if (priv->popover)
-    {
-      gtk_widget_destroy (priv->popover);
-      priv->popover = NULL;
-    }
+  g_clear_pointer (&priv->popover, gtk_widget_destroy);
 
   G_OBJECT_CLASS (gtk_color_swatch_parent_class)->dispose (object);
 }
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index f5c3bb0df9..682cce629c 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -2788,8 +2788,7 @@ gtk_entry_finalize (GObject *object)
   if (priv->attrs)
     pango_attr_list_unref (priv->attrs);
 
-  if (priv->progress_widget)
-    gtk_widget_unparent (priv->progress_widget);
+  g_clear_pointer (&priv->progress_widget, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_entry_parent_class)->finalize (object);
 }
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index ae9bc75756..f1eed958fb 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -669,11 +669,7 @@ gtk_font_chooser_widget_dispose (GObject *object)
   GtkFontChooserWidget *self = GTK_FONT_CHOOSER_WIDGET (object);
   GtkFontChooserWidgetPrivate *priv = gtk_font_chooser_widget_get_instance_private (self);
 
-  if (priv->stack)
-    {
-      gtk_widget_unparent (priv->stack);
-      priv->stack = NULL;
-    }
+  g_clear_pointer (&priv->stack, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_font_chooser_widget_parent_class)->dispose (object);
 }
diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c
index 34642a6cac..f1843ab349 100644
--- a/gtk/gtkmenuitem.c
+++ b/gtk/gtkmenuitem.c
@@ -745,12 +745,7 @@ gtk_menu_item_dispose (GObject *object)
 
   g_clear_object (&priv->motion_controller);
   g_clear_object (&priv->action_helper);
-
-  if (priv->arrow_widget)
-    {
-      gtk_widget_unparent (priv->arrow_widget);
-      priv->arrow_widget = NULL;
-    }
+  g_clear_pointer (&priv->arrow_widget, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_menu_item_parent_class)->dispose (object);
 }
@@ -846,11 +841,7 @@ gtk_menu_item_detacher (GtkWidget *widget,
   g_return_if_fail (priv->submenu == (GtkWidget*) menu);
 
   priv->submenu = NULL;
-  if (priv->arrow_widget)
-    {
-      gtk_widget_unparent (priv->arrow_widget);
-      priv->arrow_widget = NULL;
-    }
+  g_clear_pointer (&priv->arrow_widget, gtk_widget_unparent);
 }
 
 static void
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index c873ec3b23..1ed14d842f 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -2864,11 +2864,7 @@ update_arrow_nodes (GtkNotebook *notebook)
         }
       else
         {
-          if (priv->arrow_widget[i])
-            {
-              gtk_widget_unparent (priv->arrow_widget[i]);
-              priv->arrow_widget[i] = NULL;
-            }
+          g_clear_pointer (&priv->arrow_widget[i], gtk_widget_unparent);
         }
     }
 }
diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c
index 3a53471cf7..921386cb12 100644
--- a/gtk/gtkprogressbar.c
+++ b/gtk/gtkprogressbar.c
@@ -597,8 +597,7 @@ gtk_progress_bar_finalize (GObject *object)
 
   g_free (priv->text);
 
-  if (priv->label)
-    gtk_widget_unparent (priv->label);
+  g_clear_pointer (&priv->label, gtk_widget_unparent);
 
   gtk_widget_unparent (priv->progress_widget);
   gtk_widget_unparent (priv->trough_widget);
@@ -1014,11 +1013,7 @@ gtk_progress_bar_set_show_text (GtkProgressBar *pbar,
     }
   else
     {
-      if (priv->label)
-        {
-          gtk_widget_unparent (priv->label);
-          priv->label = NULL;
-        }
+      g_clear_pointer (&priv->label, gtk_widget_unparent);
     }
 
   gtk_widget_queue_resize (GTK_WIDGET (pbar));
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index 26fd7d8a7f..d745e93174 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -1117,8 +1117,7 @@ gtk_range_set_show_fill_level (GtkRange *range,
     }
   else
     {
-      gtk_widget_unparent (priv->fill_widget);
-      priv->fill_widget = NULL;
+      g_clear_pointer (&priv->fill_widget, gtk_widget_unparent);
     }
 
   g_object_notify_by_pspec (G_OBJECT (range), properties[PROP_SHOW_FILL_LEVEL]);
@@ -1289,15 +1288,10 @@ gtk_range_finalize (GObject *object)
   GtkRange *range = GTK_RANGE (object);
   GtkRangePrivate *priv = gtk_range_get_instance_private (range);
 
-  gtk_widget_unparent (priv->slider_widget);
-
-  if (priv->fill_widget)
-    gtk_widget_unparent (priv->fill_widget);
-
-  if (priv->highlight_widget)
-    gtk_widget_unparent (priv->highlight_widget);
-
-  gtk_widget_unparent (priv->trough_widget);
+  g_clear_pointer (&priv->slider_widget, gtk_widget_unparent);
+  g_clear_pointer (&priv->fill_widget, gtk_widget_unparent);
+  g_clear_pointer (&priv->highlight_widget, gtk_widget_unparent);
+  g_clear_pointer (&priv->trough_widget, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_range_parent_class)->finalize (object);
 }
@@ -2855,8 +2849,7 @@ _gtk_range_set_has_origin (GtkRange *range,
     }
   else
     {
-      gtk_widget_unparent (priv->highlight_widget);
-      priv->highlight_widget = NULL;
+      g_clear_pointer (&priv->highlight_widget, gtk_widget_unparent);
     }
 }
 
diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c
index ed2debbea7..9d3673e715 100644
--- a/gtk/gtkscale.c
+++ b/gtk/gtkscale.c
@@ -1143,8 +1143,7 @@ gtk_scale_set_draw_value (GtkScale *scale,
         }
       else if (priv->value_widget)
         {
-          gtk_widget_unparent (priv->value_widget);
-          priv->value_widget = NULL;
+          g_clear_pointer (&priv->value_widget, gtk_widget_unparent);
           gtk_range_set_round_digits (GTK_RANGE (scale), -1);
         }
 
@@ -1580,8 +1579,7 @@ gtk_scale_finalize (GObject *object)
 
   gtk_scale_clear_marks (scale);
 
-  if (priv->value_widget)
-    gtk_widget_unparent (priv->value_widget);
+  g_clear_pointer (&priv->value_widget, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_scale_parent_class)->finalize (object);
 }
@@ -1675,17 +1673,9 @@ gtk_scale_clear_marks (GtkScale *scale)
   g_slist_free_full (priv->marks, gtk_scale_mark_free);
   priv->marks = NULL;
 
-  if (priv->top_marks_widget)
-    {
-      gtk_widget_unparent (priv->top_marks_widget);
-      priv->top_marks_widget = NULL;
-    }
 
-  if (priv->bottom_marks_widget)
-    {
-      gtk_widget_unparent (priv->bottom_marks_widget);
-      priv->bottom_marks_widget = NULL;
-    }
+  g_clear_pointer (&priv->top_marks_widget, gtk_widget_unparent);
+  g_clear_pointer (&priv->bottom_marks_widget, gtk_widget_unparent);
 
   context = gtk_widget_get_style_context (GTK_WIDGET (scale));
   gtk_style_context_remove_class (context, "marks-before");
diff --git a/gtk/gtkscrollbar.c b/gtk/gtkscrollbar.c
index 3c4be33b7a..64d81769cf 100644
--- a/gtk/gtkscrollbar.c
+++ b/gtk/gtkscrollbar.c
@@ -200,11 +200,7 @@ gtk_scrollbar_dispose (GObject *object)
   GtkScrollbar *self = GTK_SCROLLBAR (object);
   GtkScrollbarPrivate *priv = gtk_scrollbar_get_instance_private (self);
 
-  if (priv->box)
-    {
-      gtk_widget_unparent (priv->box);
-      priv->box = NULL;
-    }
+  g_clear_pointer (&priv->box, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_scrollbar_parent_class)->dispose (object);
 }
diff --git a/gtk/gtksearchbar.c b/gtk/gtksearchbar.c
index 6ccd1ca0f0..37d78a826f 100644
--- a/gtk/gtksearchbar.c
+++ b/gtk/gtksearchbar.c
@@ -364,11 +364,7 @@ gtk_search_bar_dispose (GObject *object)
       _gtk_bin_set_child (GTK_BIN (bar), NULL);
     }
 
-  if (priv->revealer != NULL)
-    {
-      gtk_widget_unparent (priv->revealer);
-      priv->revealer = NULL;
-    }
+  g_clear_pointer (&priv->revealer, gtk_widget_unparent);
 
   gtk_search_bar_set_entry (bar, NULL);
   gtk_search_bar_set_key_capture_widget (bar, NULL);
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c
index ebf682c3d5..f2e0caab96 100644
--- a/gtk/gtkstatusbar.c
+++ b/gtk/gtkstatusbar.c
@@ -121,11 +121,7 @@ gtk_statusbar_dispose (GObject *object)
 {
   GtkStatusbarPrivate *priv = gtk_statusbar_get_instance_private (GTK_STATUSBAR (object));
 
-  if (priv->frame)
-    {
-      gtk_widget_unparent (priv->frame);
-      priv->frame = NULL;
-    }
+  g_clear_pointer (&priv->frame, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_statusbar_parent_class)->dispose (object);
 }
diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c
index 3e1a1ee3c9..dbf53dd9cd 100644
--- a/gtk/gtktoolbar.c
+++ b/gtk/gtktoolbar.c
@@ -2596,11 +2596,7 @@ gtk_toolbar_dispose (GObject *object)
   GtkToolbar *toolbar = GTK_TOOLBAR (object);
   GtkToolbarPrivate *priv = toolbar->priv;
 
-  if (priv->arrow_button)
-    {
-      gtk_widget_unparent (priv->arrow_button);
-      priv->arrow_button = NULL;
-    }
+  g_clear_pointer (&priv->arrow_button, gtk_widget_unparent);
 
   if (priv->menu)
     {


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