[gnome-control-center] display: Use g_auto for variables



commit 961b41a291edca712355e9b69607e1ec4284c756
Author: Robert Ancell <robert ancell canonical com>
Date:   Tue May 29 15:23:26 2018 +1200

    display: Use g_auto for variables

 panels/display/cc-display-arrangement.c         |  3 +-
 panels/display/cc-display-config-dbus.c         | 89 ++++++++++++-------------
 panels/display/cc-display-config-manager-dbus.c |  6 +-
 panels/display/cc-display-config.c              |  9 +--
 panels/display/cc-display-panel.c               | 56 ++++++----------
 5 files changed, 67 insertions(+), 96 deletions(-)
---
diff --git a/panels/display/cc-display-arrangement.c b/panels/display/cc-display-arrangement.c
index 343e9361a..d4a96c5df 100644
--- a/panels/display/cc-display-arrangement.c
+++ b/panels/display/cc-display-arrangement.c
@@ -628,7 +628,7 @@ cc_display_arrangement_draw (GtkWidget *widget,
         {
           PangoLayout *layout;
           PangoFontDescription *font = NULL;
-          gchar *number_str;
+          g_autofree gchar *number_str = NULL;
           PangoRectangle extents;
           GdkRGBA color;
           gdouble text_width, text_padding;
@@ -647,7 +647,6 @@ cc_display_arrangement_draw (GtkWidget *widget,
           layout = gtk_widget_create_pango_layout (GTK_WIDGET (self), number_str);
           pango_layout_set_font_description (layout, font);
           pango_layout_get_extents (layout, NULL, &extents);
-          g_free (number_str);
 
           h = (extents.height - extents.y) / PANGO_SCALE;
           text_width = (extents.width - extents.x) / PANGO_SCALE;
diff --git a/panels/display/cc-display-config-dbus.c b/panels/display/cc-display-config-dbus.c
index a5049b78a..b7bb444a1 100644
--- a/panels/display/cc-display-config-dbus.c
+++ b/panels/display/cc-display-config-dbus.c
@@ -176,8 +176,8 @@ static CcDisplayModeDBus *
 cc_display_mode_dbus_new (GVariant *variant)
 {
   double d;
-  GVariantIter *scales_iter;
-  GVariant *properties_variant;
+  g_autoptr(GVariantIter) scales_iter = NULL;
+  g_autoptr(GVariant) properties_variant = NULL;
   gboolean is_current;
   gboolean is_preferred;
   gboolean is_interlaced;
@@ -209,9 +209,6 @@ cc_display_mode_dbus_new (GVariant *variant)
   if (is_interlaced)
     self->flags |= MODE_INTERLACED;
 
-  g_variant_iter_free (scales_iter);
-  g_variant_unref (properties_variant);
-
   return self;
 }
 
@@ -776,10 +773,14 @@ construct_modes (CcDisplayMonitorDBus *self,
                  GVariantIter *modes)
 {
   CcDisplayModeDBus *mode;
-  GVariant *variant;
 
-  while (g_variant_iter_next (modes, "@"MODE_FORMAT, &variant))
+  while (TRUE)
     {
+      g_autoptr(GVariant) variant = NULL;
+
+      if (!g_variant_iter_next (modes, "@"MODE_FORMAT, &variant))
+        break;
+
       mode = cc_display_mode_dbus_new (variant);
       self->modes = g_list_prepend (self->modes, mode);
 
@@ -787,8 +788,6 @@ construct_modes (CcDisplayMonitorDBus *self,
         self->preferred_mode = CC_DISPLAY_MODE (mode);
       if (mode->flags & MODE_CURRENT)
         self->current_mode = CC_DISPLAY_MODE (mode);
-
-      g_variant_unref (variant);
     }
 }
 
@@ -798,10 +797,8 @@ cc_display_monitor_dbus_new (GVariant *variant,
 {
   CcDisplayMonitorDBus *self = g_object_new (CC_TYPE_DISPLAY_MONITOR_DBUS, NULL);
   gchar *s1, *s2, *s3, *s4;
-  GVariantIter *modes;
-  GVariantIter *props;
-  const char *s;
-  GVariant *v;
+  g_autoptr(GVariantIter) modes = NULL;
+  g_autoptr(GVariantIter) props = NULL;
 
   self->config = config;
 
@@ -814,8 +811,14 @@ cc_display_monitor_dbus_new (GVariant *variant,
 
   construct_modes (self, modes);
 
-  while (g_variant_iter_next (props, "{&sv}", &s, &v))
+  while (TRUE)
     {
+      const char *s;
+      g_autoptr(GVariant) v = NULL;
+
+      if (!g_variant_iter_next (props, "{&sv}", &s, &v))
+        break;
+
       if (g_str_equal (s, "width-mm"))
         {
           g_variant_get (v, "i", &self->width_mm);
@@ -845,13 +848,8 @@ cc_display_monitor_dbus_new (GVariant *variant,
         {
           g_variant_get (v, "s", &self->display_name);
         }
-
-      g_variant_unref (v);
     }
 
-  g_variant_iter_free (modes);
-  g_variant_iter_free (props);
-
   return self;
 }
 
@@ -987,7 +985,7 @@ config_apply (CcDisplayConfigDBus *self,
               CcDisplayConfigMethod method,
               GError **error)
 {
-  GVariant *retval;
+  g_autoptr(GVariant) retval = NULL;
 
   cc_display_config_dbus_ensure_non_offset_coords (self);
 
@@ -1002,23 +1000,18 @@ config_apply (CcDisplayConfigDBus *self,
                                         -1,
                                         NULL,
                                         error);
-  if (!retval)
-    return FALSE;
-
-  g_variant_unref (retval);
-  return TRUE;
+  return retval != NULL;
 }
 
 static gboolean
 cc_display_config_dbus_is_applicable (CcDisplayConfig *pself)
 {
   CcDisplayConfigDBus *self = CC_DISPLAY_CONFIG_DBUS (pself);
-  GError *error = NULL;
+  g_autoptr(GError) error = NULL;
 
   if (!config_apply (self, CC_DISPLAY_CONFIG_METHOD_VERIFY, &error))
     {
       g_warning ("Config not applicable: %s", error->message);
-      g_error_free (error);
       return FALSE;
     }
   else
@@ -1275,11 +1268,13 @@ construct_monitors (CcDisplayConfigDBus *self,
                     GVariantIter *monitors,
                     GVariantIter *logical_monitors)
 {
-  GVariant *variant;
-
-  while (g_variant_iter_next (monitors, "@"MONITOR_FORMAT, &variant))
+  while (TRUE)
     {
       CcDisplayMonitorDBus *monitor;
+      g_autoptr(GVariant) variant = NULL;
+
+      if (!g_variant_iter_next (monitors, "@"MONITOR_FORMAT, &variant))
+        break;
 
       monitor = cc_display_monitor_dbus_new (variant, self);
       self->monitors = g_list_prepend (self->monitors, monitor);
@@ -1288,15 +1283,18 @@ construct_monitors (CcDisplayConfigDBus *self,
         g_signal_connect_object (monitor, "scale",
                                  G_CALLBACK (apply_global_scale_requirement),
                                  self, G_CONNECT_SWAPPED);
-      g_variant_unref (variant);
     }
 
-  while (g_variant_iter_next (logical_monitors, "@"LOGICAL_MONITOR_FORMAT, &variant))
+  while (TRUE)
     {
+      g_autoptr(GVariant) variant = NULL;
       CcDisplayLogicalMonitor *logical_monitor;
-      GVariantIter *monitor_specs;
+      g_autoptr(GVariantIter) monitor_specs = NULL;
       const gchar *s1, *s2, *s3, *s4;
 
+      if (!g_variant_iter_next (logical_monitors, "@"LOGICAL_MONITOR_FORMAT, &variant))
+        break;
+
       logical_monitor = g_object_new (CC_TYPE_DISPLAY_LOGICAL_MONITOR, NULL);
       g_variant_get (variant, LOGICAL_MONITOR_FORMAT,
                      &logical_monitor->x,
@@ -1335,9 +1333,6 @@ construct_monitors (CcDisplayConfigDBus *self,
         }
 
       register_logical_monitor (self, logical_monitor);
-
-      g_variant_iter_free (monitor_specs);
-      g_variant_unref (variant);
     }
 
   gather_clone_modes (self);
@@ -1347,11 +1342,9 @@ static void
 cc_display_config_dbus_constructed (GObject *object)
 {
   CcDisplayConfigDBus *self = CC_DISPLAY_CONFIG_DBUS (object);
-  GVariantIter *monitors;
-  GVariantIter *logical_monitors;
-  GVariantIter *props;
-  const char *s;
-  GVariant *v;
+  g_autoptr(GVariantIter) monitors = NULL;
+  g_autoptr(GVariantIter) logical_monitors = NULL;
+  g_autoptr(GVariantIter) props = NULL;
 
   g_variant_get (self->state,
                  CURRENT_STATE_FORMAT,
@@ -1360,8 +1353,14 @@ cc_display_config_dbus_constructed (GObject *object)
                  &logical_monitors,
                  &props);
 
-  while (g_variant_iter_next (props, "{&sv}", &s, &v))
+  while (TRUE)
     {
+      const char *s;
+      g_autoptr(GVariant) v = NULL;
+
+      if (!g_variant_iter_next (props, "{&sv}", &s, &v))
+       break;
+
       if (g_str_equal (s, "supports-mirroring"))
         {
           g_variant_get (v, "b", &self->supports_mirroring);
@@ -1382,16 +1381,10 @@ cc_display_config_dbus_constructed (GObject *object)
               u <= CC_DISPLAY_LAYOUT_MODE_PHYSICAL)
             self->layout_mode = u;
         }
-
-      g_variant_unref (v);
     }
 
   construct_monitors (self, monitors, logical_monitors);
 
-  g_variant_iter_free (monitors);
-  g_variant_iter_free (logical_monitors);
-  g_variant_iter_free (props);
-
   G_OBJECT_CLASS (cc_display_config_dbus_parent_class)->constructed (object);
 }
 
diff --git a/panels/display/cc-display-config-manager-dbus.c b/panels/display/cc-display-config-manager-dbus.c
index 8912faaa8..653bea0b5 100644
--- a/panels/display/cc-display-config-manager-dbus.c
+++ b/panels/display/cc-display-config-manager-dbus.c
@@ -57,7 +57,7 @@ got_current_state (GObject      *object,
 {
   CcDisplayConfigManagerDBus *self;
   GVariant *variant;
-  GError *error = NULL;
+  g_autoptr(GError) error = NULL;
 
   variant = g_dbus_connection_call_finish (G_DBUS_CONNECTION (object),
                                            result, &error);
@@ -70,7 +70,6 @@ got_current_state (GObject      *object,
           _cc_display_config_manager_emit_changed (CC_DISPLAY_CONFIG_MANAGER (data));
           g_warning ("Error calling GetCurrentState: %s", error->message);
         }
-      g_clear_error (&error);
       return;
     }
 
@@ -118,7 +117,7 @@ bus_gotten (GObject      *object,
 {
   CcDisplayConfigManagerDBus *self;
   GDBusConnection *connection;
-  GError *error = NULL;
+  g_autoptr(GError) error = NULL;
 
   connection = g_bus_get_finish (result, &error);
   if (!connection)
@@ -128,7 +127,6 @@ bus_gotten (GObject      *object,
           _cc_display_config_manager_emit_changed (CC_DISPLAY_CONFIG_MANAGER (data));
           g_warning ("Error obtaining DBus connection: %s", error->message);
         }
-      g_clear_error (&error);
       return;
     }
 
diff --git a/panels/display/cc-display-config.c b/panels/display/cc-display-config.c
index b919d1632..e2b6d991c 100644
--- a/panels/display/cc-display-config.c
+++ b/panels/display/cc-display-config.c
@@ -63,17 +63,14 @@ static char *
 make_output_ui_name (CcDisplayMonitor *output)
 {
   int width_mm, height_mm;
-  char *size, *name;
+  g_autofree char *size = NULL;
 
   cc_display_monitor_get_physical_size (output, &width_mm, &height_mm);
   size = make_display_size_string (width_mm, height_mm);
   if (size)
-    name = g_strdup_printf ("%s (%s)", cc_display_monitor_get_display_name (output), size);
+    return g_strdup_printf ("%s (%s)", cc_display_monitor_get_display_name (output), size);
   else
-    name = g_strdup_printf ("%s", cc_display_monitor_get_display_name (output));
-
-  g_free (size);
-  return name;
+    return g_strdup_printf ("%s", cc_display_monitor_get_display_name (output));
 }
 
 
diff --git a/panels/display/cc-display-panel.c b/panels/display/cc-display-panel.c
index d71cf34dd..ecb881dde 100644
--- a/panels/display/cc-display-panel.c
+++ b/panels/display/cc-display-panel.c
@@ -177,7 +177,8 @@ monitor_labeler_show (CcDisplayPanel *self)
 static void
 ensure_monitor_labels (CcDisplayPanel *self)
 {
-  GList *windows, *w;
+  g_autoptr(GList) windows;
+  GList *w;
 
   windows = gtk_window_list_toplevels ();
 
@@ -192,8 +193,6 @@ ensure_monitor_labels (CcDisplayPanel *self)
 
   if (!w)
     monitor_labeler_hide (self);
-
-  g_list_free (windows);
 }
 
 static void
@@ -223,13 +222,11 @@ active_panel_changed (CcShell    *shell,
                       GParamSpec *pspec,
                       CcPanel    *self)
 {
-  CcPanel *panel = NULL;
+  g_autoptr(CcPanel) panel = NULL;
 
   g_object_get (shell, "active-panel", &panel, NULL);
   if (panel != self)
     reset_titlebar (CC_DISPLAY_PANEL (self));
-
-  g_object_unref (panel);
 }
 
 static void
@@ -349,7 +346,7 @@ make_scrollable (GtkWidget *widget)
 static GtkWidget *
 make_bold_label (const gchar *text)
 {
-  GtkCssProvider *provider;
+  g_autoptr(GtkCssProvider) provider = NULL;
   GtkWidget *label = gtk_label_new (text);
 
   provider = gtk_css_provider_new ();
@@ -358,7 +355,6 @@ make_bold_label (const gchar *text)
   gtk_style_context_add_provider (gtk_widget_get_style_context (label),
                                   GTK_STYLE_PROVIDER (provider),
                                   GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-  g_object_unref (provider);
 
   return label;
 }
@@ -465,7 +461,7 @@ make_list_box (void)
 static GtkWidget *
 make_list_transparent (GtkWidget *listbox)
 {
-  GtkCssProvider *provider;
+  g_autoptr(GtkCssProvider) provider = NULL;
 
   provider = gtk_css_provider_new ();
   gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider),
@@ -473,7 +469,6 @@ make_list_transparent (GtkWidget *listbox)
   gtk_style_context_add_provider (gtk_widget_get_style_context (listbox),
                                   GTK_STYLE_PROVIDER (provider),
                                   GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
-  g_object_unref (provider);
 
   return listbox;
 }
@@ -816,10 +811,8 @@ round_scale_for_ui (double scale)
 static GtkWidget *
 make_label_for_scale (double scale)
 {
-  gchar *text = g_strdup_printf (" %d %% ", (int) (round_scale_for_ui (scale)*100));
-  GtkWidget *label = gtk_label_new (text);
-  g_free (text);
-  return label;
+  g_autofree gchar *text = g_strdup_printf (" %d %% ", (int) (round_scale_for_ui (scale)*100));
+  return gtk_label_new (text);
 }
 
 #define MAX_N_SCALES 5
@@ -866,7 +859,8 @@ static void
 scale_buttons_sync (GtkWidget        *bbox,
                     CcDisplayMonitor *output)
 {
-  GList *children, *l;
+  g_autoptr(GList) children;
+  GList *l;
 
   children = gtk_container_get_children (GTK_CONTAINER (bbox));
   for (l = children; l; l = l->next)
@@ -876,7 +870,6 @@ scale_buttons_sync (GtkWidget        *bbox,
       if (scale == cc_display_monitor_get_scale (output))
         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
     }
-  g_list_free (children);
 }
 
 static GtkWidget *
@@ -1226,7 +1219,8 @@ static void
 two_output_chooser_sync (GtkWidget      *box,
                          CcDisplayPanel *panel)
 {
-  GList *children, *l;
+  g_autoptr(GList) children = NULL;
+  GList *l;
 
   children = gtk_container_get_children (GTK_CONTAINER (box));
   for (l = children; l; l = l->next)
@@ -1236,7 +1230,6 @@ two_output_chooser_sync (GtkWidget      *box,
       if (panel->current_output == output)
         gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
     }
-  g_list_free (children);
 }
 
 static GtkWidget *
@@ -1506,7 +1499,8 @@ two_output_visible_child_changed (CcDisplayPanel *panel,
                                   GtkWidget      *stack)
 {
   GtkWidget *bin;
-  GList *children, *l;
+  g_autoptr(GList) children = NULL;
+  GList *l;
 
   reset_current_config (panel);
 
@@ -1517,7 +1511,6 @@ two_output_visible_child_changed (CcDisplayPanel *panel,
       if (ui)
         gtk_widget_destroy (ui);
     }
-  g_list_free (children);
 
   bin = gtk_stack_get_visible_child (GTK_STACK (stack));
 
@@ -1892,10 +1885,9 @@ on_toplevel_key_press (GtkWidget   *button,
 static void
 show_apply_titlebar (CcDisplayPanel *panel, gboolean is_applicable)
 {
-  GtkSizeGroup *size_group;
-
   if (!panel->apply_titlebar)
     {
+      g_autoptr(GtkSizeGroup) size_group = NULL;
       GtkWidget *header, *button, *toplevel;
       panel->apply_titlebar = header = gtk_header_bar_new ();
 
@@ -1920,7 +1912,6 @@ show_apply_titlebar (CcDisplayPanel *panel, gboolean is_applicable)
                                    GTK_STYLE_CLASS_SUGGESTED_ACTION);
 
       gtk_widget_show_all (header);
-      g_object_unref (size_group);
 
       header = gtk_window_get_titlebar (GTK_WINDOW (toplevel));
       if (header)
@@ -1948,13 +1939,12 @@ static void
 update_apply_button (CcDisplayPanel *panel)
 {
   gboolean config_equal;
-  CcDisplayConfig *applied_config;
+  g_autoptr(CcDisplayConfig) applied_config = NULL;
 
   applied_config = cc_display_config_manager_get_current (panel->manager);
 
   config_equal = cc_display_config_equal (panel->current_config,
                                           applied_config);
-  g_object_unref (applied_config);
 
   if (config_equal)
     reset_titlebar (panel);
@@ -1965,7 +1955,7 @@ update_apply_button (CcDisplayPanel *panel)
 static void
 apply_current_configuration (CcDisplayPanel *self)
 {
-  GError *error = NULL;
+  g_autoptr(GError) error = NULL;
 
   cc_display_config_apply (self->current_config, &error);
 
@@ -1973,10 +1963,7 @@ apply_current_configuration (CcDisplayPanel *self)
   on_screen_changed (self);
 
   if (error)
-    {
-      g_warning ("Error applying configuration: %s", error->message);
-      g_clear_error (&error);
-    }
+    g_warning ("Error applying configuration: %s", error->message);
 }
 
 static const gchar *
@@ -2148,14 +2135,13 @@ shell_proxy_ready (GObject        *source,
                    CcDisplayPanel *self)
 {
   GDBusProxy *proxy;
-  GError *error = NULL;
+  g_autoptr(GError) error = NULL;
 
   proxy = cc_object_storage_create_dbus_proxy_finish (res, &error);
   if (!proxy)
     {
       if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
         g_warning ("Failed to contact gnome-shell: %s", error->message);
-      g_error_free (error);
       return;
     }
 
@@ -2167,7 +2153,7 @@ shell_proxy_ready (GObject        *source,
 static void
 update_has_accel (CcDisplayPanel *self)
 {
-  GVariant *v;
+  g_autoptr(GVariant) v = NULL;
 
   if (self->iio_sensor_proxy == NULL)
     {
@@ -2180,7 +2166,6 @@ update_has_accel (CcDisplayPanel *self)
   if (v)
     {
       self->has_accelerometer = g_variant_get_boolean (v);
-      g_variant_unref (v);
     }
   else
     {
@@ -2292,7 +2277,7 @@ session_bus_ready (GObject        *source,
                    CcDisplayPanel *self)
 {
   GDBusConnection *bus;
-  GError *error = NULL;
+  g_autoptr(GError) error = NULL;
 
   bus = g_bus_get_finish (res, &error);
   if (!bus)
@@ -2302,7 +2287,6 @@ session_bus_ready (GObject        *source,
           g_warning ("Failed to get session bus: %s", error->message);
           gtk_stack_set_visible_child_name (GTK_STACK (self->stack), "error");
         }
-      g_error_free (error);
       return;
     }
 


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