From 6da301644c82049dc7d0b4a701a481000379893f Mon Sep 17 00:00:00 2001 From: Logan Rathbone Date: Wed, 29 Dec 2021 23:49:48 -0500 Subject: Use g_auto* where possible. --- src/calendar.c | 11 +++------- src/entry.c | 4 +--- src/fileselection.c | 33 ++++++++-------------------- src/forms.c | 23 ++++++-------------- src/main.c | 14 ++++-------- src/msg.c | 4 +--- src/notification.c | 43 +++++++++++-------------------------- src/option.c | 62 ----------------------------------------------------- src/option.h | 2 -- src/progress.c | 15 +++++-------- src/scale.c | 4 +--- src/text.c | 30 +++++++++----------------- src/tree.c | 23 ++++++-------------- src/util.c | 12 +++++------ src/zenity.ui | 5 ----- 15 files changed, 65 insertions(+), 220 deletions(-) (limited to 'src') diff --git a/src/calendar.c b/src/calendar.c index 07696ab..be8c8af 100644 --- a/src/calendar.c +++ b/src/calendar.c @@ -41,7 +41,7 @@ static void zenity_calendar_dialog_response (GtkWidget *widget, void zenity_calendar (ZenityData *data, ZenityCalendarData *cal_data) { - GtkBuilder *builder; + g_autoptr(GtkBuilder) builder = NULL; GtkWidget *dialog; GtkWidget *button; GObject *text; @@ -126,8 +126,6 @@ zenity_calendar (ZenityData *data, ZenityCalendarData *cal_data) gtk_button_set_label (GTK_BUTTON (button), data->cancel_label); } - g_object_unref (builder); - zenity_util_gapp_main (GTK_WINDOW(dialog)); } @@ -135,8 +133,8 @@ static void zenity_calendar_dialog_output (void) { int day, month, year; - char *time_string; - GDateTime *date; + g_autofree char *time_string = NULL; + g_autoptr(GDateTime) date = NULL; g_object_get (calendar, "day", &day, @@ -149,9 +147,6 @@ zenity_calendar_dialog_output (void) time_string = g_date_time_format (date, zen_cal_data->date_format); g_print ("%s\n", time_string); - - g_date_time_unref (date); - g_free (time_string); } static void diff --git a/src/entry.c b/src/entry.c index f116069..a6d67a4 100644 --- a/src/entry.c +++ b/src/entry.c @@ -53,7 +53,7 @@ zenity_entry_combo_activate_default (GtkEntry *entry, gpointer window) void zenity_entry (ZenityData *data, ZenityEntryData *entry_data) { - GtkBuilder *builder = NULL; + g_autoptr(GtkBuilder) builder = NULL; GtkWidget *dialog; GtkWidget *button; GObject *text; @@ -170,8 +170,6 @@ zenity_entry (ZenityData *data, ZenityEntryData *entry_data) gtk_label_set_mnemonic_widget (GTK_LABEL (text), entry); - g_object_unref (builder); - zenity_util_show_dialog (dialog); if (data->timeout_delay > 0) { diff --git a/src/fileselection.c b/src/fileselection.c index 0020b23..e495f76 100644 --- a/src/fileselection.c +++ b/src/fileselection.c @@ -70,37 +70,30 @@ zenity_fileselection (ZenityData *data, ZenityFileData *file_data) { if (g_path_is_absolute (file_data->uri) == TRUE) { - char *dir = g_path_get_dirname (file_data->uri); - GFile *dir_gfile = g_file_new_for_path (dir); + g_autofree char *dir = g_path_get_dirname (file_data->uri); + g_autoptr(GFile) dir_gfile = g_file_new_for_path (dir); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(dialog), dir_gfile, NULL); /* GError */ - - g_free (dir); - g_object_unref (dir_gfile); } if (file_data->uri[strlen (file_data->uri) - 1] != '/') { if (file_data->save) { - char *basename = g_path_get_basename (file_data->uri); + g_autofree char *basename = g_path_get_basename (file_data->uri); gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), basename); - - g_free (basename); } else { - GFile *file = g_file_new_for_uri (file_data->uri); + g_autoptr(GFile) file = g_file_new_for_uri (file_data->uri); gtk_file_chooser_set_file (GTK_FILE_CHOOSER(dialog), file, NULL); /* GError */ - - g_object_unref (file); } } } @@ -115,8 +108,9 @@ zenity_fileselection (ZenityData *data, ZenityFileData *file_data) { GtkFileFilter *filter = gtk_file_filter_new (); char *filter_str = file_data->filter[filter_i]; - char **pattern, **patterns; - char *name = NULL; + GStrv pattern; + g_auto(GStrv) patterns = NULL; + g_autofree char *name = NULL; int i; /* Set name */ @@ -146,11 +140,6 @@ zenity_fileselection (ZenityData *data, ZenityFileData *file_data) for (pattern = patterns; *pattern; pattern++) gtk_file_filter_add_pattern (filter, *pattern); - if (name) - g_free (name); - - g_strfreev (patterns); - gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(dialog), filter); } } @@ -174,23 +163,19 @@ static void zenity_fileselection_dialog_output (GtkFileChooser *chooser, ZenityFileData *file_data) { - GListModel *model = gtk_file_chooser_get_files (chooser); + g_autoptr(GListModel) model = gtk_file_chooser_get_files (chooser); guint items = g_list_model_get_n_items (model); for (guint i = 0; i < items; ++i) { - GFile *file = g_list_model_get_item (model, i); + g_autoptr(GFile) file = g_list_model_get_item (model, i); g_print ("%s", g_file_get_path (file)); if (i != items - 1) g_print ("%s", file_data->separator); - - g_object_unref (file); } g_print ("\n"); - - g_object_unref (model); } static void diff --git a/src/forms.c b/src/forms.c index 86b8499..ea50349 100644 --- a/src/forms.c +++ b/src/forms.c @@ -60,7 +60,7 @@ static GtkWidget * zenity_forms_create_and_fill_combo (ZenityFormsData *forms_data, int combo_number) { - GtkListStore *list_store; + g_autoptr(GtkListStore) list_store = NULL; GtkWidget *combo_box; GtkCellRenderer *renderer; @@ -68,7 +68,7 @@ zenity_forms_create_and_fill_combo (ZenityFormsData *forms_data, if (forms_data->combo_values) { - char *combo_values = + g_autofree char *combo_values = g_slist_nth_data (forms_data->combo_values, combo_number); if (combo_values) @@ -89,12 +89,10 @@ zenity_forms_create_and_fill_combo (ZenityFormsData *forms_data, } g_strfreev (row_values); } - g_free (combo_values); } } combo_box = gtk_combo_box_new_with_model (GTK_TREE_MODEL(list_store)); - g_object_unref (list_store); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT(combo_box), @@ -111,7 +109,7 @@ static GtkWidget * zenity_forms_create_and_fill_list (ZenityFormsData *forms_data, int list_number, char *header) { - GtkListStore *list_store; + g_autoptr(GtkListStore) list_store = NULL; GtkWidget *tree_view; GtkWidget *scrolled_window; GType *column_types = NULL; @@ -180,7 +178,7 @@ zenity_forms_create_and_fill_list (ZenityFormsData *forms_data, if (forms_data->list_values) { - char *list_values = + g_autofree char *list_values = g_slist_nth_data (forms_data->list_values, list_number); if (list_values) @@ -207,7 +205,6 @@ zenity_forms_create_and_fill_list (ZenityFormsData *forms_data, } g_strfreev (row_values); } - g_free (list_values); } } @@ -215,7 +212,6 @@ zenity_forms_create_and_fill_list (ZenityFormsData *forms_data, GTK_TREE_MODEL (list_store)); gtk_tree_view_set_headers_visible ( GTK_TREE_VIEW (tree_view), forms_data->show_header); - g_object_unref (list_store); scrolled_window = gtk_scrolled_window_new (); gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrolled_window), @@ -228,7 +224,7 @@ zenity_forms_create_and_fill_list (ZenityFormsData *forms_data, void zenity_forms_dialog (ZenityData *data, ZenityFormsData *forms_data) { - GtkBuilder *builder = NULL; + g_autoptr(GtkBuilder) builder = NULL; GtkWidget *dialog; GtkWidget *grid; GtkWidget *text; @@ -349,8 +345,6 @@ zenity_forms_dialog (ZenityData *data, ZenityFormsData *forms_data) zenity_util_show_dialog (dialog); - g_object_unref (builder); - if (data->timeout_delay > 0) { g_timeout_add_seconds (data->timeout_delay, @@ -367,9 +361,9 @@ zenity_forms_dialog_output (ZenityFormsData *forms_data) guint day, year, month; GDate *date = NULL; char time_string[128]; - char *combo_value = NULL; + g_autofree char *combo_value = NULL; GtkTreeSelection *selection; - GtkListStore *list_store; + g_autoptr(GtkListStore) list_store = NULL; GtkTreeIter iter; for (tmp = forms_data->list; tmp; tmp = tmp->next) @@ -433,10 +427,7 @@ zenity_forms_dialog_output (ZenityFormsData *forms_data) &combo_value, -1); - g_object_unref (G_OBJECT (list_store)); - g_print ("%s", combo_value); - g_free (combo_value); } else g_print (" "); diff --git a/src/main.c b/src/main.c index 01545be..86a816b 100644 --- a/src/main.c +++ b/src/main.c @@ -43,7 +43,7 @@ command_line_cb (GtkApplication *app, GApplicationCommandLine *command_line, gpointer user_data) { - ZenityArgs *args = user_data; + g_autofree ZenityArgs *args = user_data; ZenityParsingOptions *results; results = zenity_option_parse (args->argc, args->argv); @@ -120,18 +120,13 @@ command_line_cb (GtkApplication *app, case MODE_LAST: g_printerr (_ ("You must specify a dialog type. See 'zenity " "--help' for details\n")); - zenity_option_free (); exit (-1); default: g_assert_not_reached (); - zenity_option_free (); exit (-1); } - zenity_option_free (); - g_free (args); - g_application_command_line_set_exit_status (command_line, results->data->exit_code); } @@ -139,11 +134,11 @@ command_line_cb (GtkApplication *app, int main (int argc, char *argv[]) { - ZenityArgs *args; - GtkApplication *app; + g_autofree ZenityArgs *args = NULL; + g_autoptr(GtkApplication) app = NULL; int status; - /* boilerplate i18n stuff */ + /* */ setlocale (LC_ALL, ""); bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); @@ -162,7 +157,6 @@ main (int argc, char *argv[]) G_CALLBACK(command_line_cb), args); status = g_application_run (G_APPLICATION(app), 0, NULL); - g_object_unref (app); return status; } diff --git a/src/msg.c b/src/msg.c index 5b8e7a9..1fa3645 100644 --- a/src/msg.c +++ b/src/msg.c @@ -84,7 +84,7 @@ zenity_label_widget_clipboard_selection (GtkWidget *widget) void zenity_msg (ZenityData *data, ZenityMsgData *msg_data) { - GtkBuilder *builder; + g_autoptr(GtkBuilder) builder; GtkWidget *dialog; GtkWidget *ok_button; GObject *text; @@ -248,8 +248,6 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data) NULL); } - g_object_unref (builder); - zenity_util_gapp_main (GTK_WINDOW(dialog)); } diff --git a/src/notification.c b/src/notification.c index a813c1e..70b65bc 100644 --- a/src/notification.c +++ b/src/notification.c @@ -40,14 +40,11 @@ #define MAX_HINTS 16 -static char *icon_file; -static GHashTable *notification_hints; - static NotifyNotification * zenity_notification_new (char *message, char *icon_file) { NotifyNotification *notif; - char **text; + g_auto(GStrv) text = NULL; text = g_strsplit (g_strcompress (message), "\n", 2); if (*text == NULL) @@ -60,8 +57,6 @@ zenity_notification_new (char *message, char *icon_file) text[1], /* summary */ icon_file); - g_strfreev (text); - return notif; } @@ -81,8 +76,8 @@ on_notification_default_action (NotifyNotification *n, static GHashTable * zenity_notification_parse_hints_array (char **hints) { - GHashTable *result; - char **pair; + g_autoptr(GHashTable) result = NULL; + g_auto(GStrv) pair = NULL; int i; result = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); @@ -91,11 +86,9 @@ zenity_notification_parse_hints_array (char **hints) { pair = g_strsplit (hints[i], ":", 2); g_hash_table_replace (result, g_strdup (pair[0]), g_strdup (pair[1])); - g_strfreev (pair); } if (g_hash_table_size (result) == 0) { - g_hash_table_unref (result); return NULL; } else { return result; @@ -106,11 +99,10 @@ static GHashTable * zenity_notification_parse_hints (char *hints) { GHashTable *result; - char **hint_array; + g_auto(GStrv) hint_array = NULL; hint_array = g_strsplit (g_strcompress (hints), "\n", MAX_HINTS); result = zenity_notification_parse_hints_array (hint_array); - g_strfreev (hint_array); return result; } @@ -204,10 +196,13 @@ static gboolean zenity_notification_handle_stdin (GIOChannel *channel, GIOCondition condition, gpointer user_data) { + g_autofree char *icon_file = NULL; + g_autoptr(GHashTable) notification_hints = NULL; + if ((condition & G_IO_IN) != 0) { - GString *string; - GError *error = NULL; + g_autoptr(GString) string = NULL; + g_autoptr(GError) error = NULL; while (channel->is_readable == FALSE) ; @@ -216,7 +211,8 @@ zenity_notification_handle_stdin (GIOChannel *channel, GIOCondition condition, do { int status; - char *command, *value, *colon; + g_autofree char *command = NULL; + char *value, *colon; do { status = g_io_channel_read_line_string (channel, string, @@ -234,7 +230,6 @@ zenity_notification_handle_stdin (GIOChannel *channel, GIOCondition condition, g_warning ("%s: %s", __func__, error->message); - g_error_free (error); error = NULL; } continue; @@ -257,14 +252,10 @@ zenity_notification_handle_stdin (GIOChannel *channel, GIOCondition condition, if (! g_ascii_strcasecmp (command, "icon")) { - g_free (icon_file); icon_file = g_strdup (value); } else if (!g_ascii_strcasecmp (command, "hints")) { - if (notification_hints != NULL) { - g_hash_table_unref (notification_hints); - } notification_hints = zenity_notification_parse_hints (value); } else if (!g_ascii_strcasecmp (command, "message")) @@ -289,7 +280,6 @@ zenity_notification_handle_stdin (GIOChannel *channel, GIOCondition condition, if (error) { g_warning ( "Error showing notification: %s", error->message); - g_error_free (error); error = NULL; } @@ -317,7 +307,6 @@ zenity_notification_handle_stdin (GIOChannel *channel, GIOCondition condition, { g_warning ("Error showing notification: %s", error->message); - g_error_free (error); error = NULL; } @@ -331,11 +320,8 @@ zenity_notification_handle_stdin (GIOChannel *channel, GIOCondition condition, { g_warning ("Unknown command '%s'", command); } - g_free (command); } while (g_io_channel_get_buffer_condition (channel) == G_IO_IN); - - g_string_free (string, TRUE); } if ((condition & G_IO_HUP) != 0) @@ -365,9 +351,9 @@ void zenity_notification (ZenityData *data, ZenityNotificationData *notification_data) { - GError *error; + g_autoptr(GError) error = NULL; NotifyNotification *notification; - GHashTable *notification_hints; + g_autoptr(GHashTable) notification_hints = NULL; /* create the notification widget */ if (!notify_is_initted ()) { @@ -407,8 +393,6 @@ zenity_notification (ZenityData *data, notification_data->notification_hints); zenity_notification_set_hints (notification, notification_hints); - - g_hash_table_unref (notification_hints); } /* Show icon and wait */ @@ -417,7 +401,6 @@ zenity_notification (ZenityData *data, { if (error != NULL) { g_warning ("Error showing notification: %s", error->message); - g_error_free (error); } exit (1); } diff --git a/src/option.c b/src/option.c index 087c15e..f46d691 100644 --- a/src/option.c +++ b/src/option.c @@ -1068,65 +1068,6 @@ zenity_option_init (void) results->forms_data = g_new0 (ZenityFormsData, 1); } -void -zenity_option_free (void) -{ - if (zenity_general_dialog_title) - g_free (zenity_general_dialog_title); - if (zenity_general_dialog_text) - g_free (zenity_general_dialog_text); - if (zenity_general_uri) - g_free (zenity_general_uri); - g_free (zenity_general_separator); - if (zenity_general_ok_button) - g_free (zenity_general_ok_button); - if (zenity_general_cancel_button) - g_free (zenity_general_cancel_button); - if (zenity_general_extra_buttons) - g_strfreev (zenity_general_extra_buttons); - - if (zenity_calendar_date_format) - g_free (zenity_calendar_date_format); - - if (zenity_forms_date_format) - g_free (zenity_forms_date_format); - if (zenity_forms_list_values) - g_strfreev (zenity_forms_list_values); - if (zenity_forms_combo_values) - g_strfreev (zenity_forms_combo_values); - if (zenity_forms_column_values) - g_strfreev (zenity_forms_column_values); - if (zenity_entry_entry_text) - g_free (zenity_entry_entry_text); - - if (zenity_file_filter) - g_strfreev (zenity_file_filter); - - if (zenity_list_columns) - g_strfreev (zenity_list_columns); - if (zenity_list_print_column) - g_free (zenity_list_print_column); - if (zenity_list_hide_column) - g_free (zenity_list_hide_column); - -#ifdef HAVE_LIBNOTIFY - if (zenity_notification_hints) - g_strfreev (zenity_notification_hints); - if (zenity_notification_icon) - g_free (zenity_notification_icon); -#endif - - if (zenity_text_font) - g_free (zenity_text_font); - if (zenity_text_checkbox) - g_free (zenity_text_checkbox); - - if (zenity_colorsel_color) - g_free (zenity_colorsel_color); - - g_option_context_free (ctx); -} - static void zenity_option_set_dialog_mode (gboolean is_active, ZenityDialogMode mode) { @@ -2229,17 +2170,14 @@ zenity_option_error (char *string, ZenityError error) case ERROR_SYNTAX: g_printerr (_ ("This option is not available. Please see --help " "for all possible usages.\n")); - zenity_option_free (); exit (-1); case ERROR_SUPPORT: g_printerr (_ ("--%s is not supported for this dialog\n"), string); - zenity_option_free (); exit (-1); case ERROR_DIALOG: g_printerr (_ ("Two or more dialog options specified\n")); - zenity_option_free (); exit (-1); default: diff --git a/src/option.h b/src/option.h index 475f9ae..40cdcb0 100644 --- a/src/option.h +++ b/src/option.h @@ -83,6 +83,4 @@ void zenity_option_error (char *string, ZenityError error); ZenityParsingOptions *zenity_option_parse (int argc, char **argv); -void zenity_option_free (void); - #endif /* OPTION_H */ diff --git a/src/progress.c b/src/progress.c index 06e54e0..81d5e5f 100644 --- a/src/progress.c +++ b/src/progress.c @@ -104,7 +104,7 @@ zenity_progress_update_time_remaining (ZenityProgressData *progress_data) (time_t) (100.0 * elapsed_time / progress_data->percentage); time_t remaining_time = total_time - elapsed_time; gulong hours, minutes, seconds; - char *remaining_message; + g_autofree char *remaining_message = NULL; seconds = (gulong) (remaining_time % 60); remaining_time /= 60; @@ -116,8 +116,6 @@ zenity_progress_update_time_remaining (ZenityProgressData *progress_data) g_strdup_printf (_("Time remaining: %lu:%02lu:%02lu"), hours, minutes, seconds); gtk_label_set_text (GTK_LABEL (progress_time), remaining_message); - - g_free (remaining_message); } } @@ -167,8 +165,8 @@ zenity_progress_handle_stdin (GIOChannel *channel, GIOCondition condition, if ((condition & G_IO_IN) != 0) { - GString *string = g_string_new (NULL); - GError *error = NULL; + g_autoptr(GString) string = g_string_new (NULL); + g_autoptr(GError) error = NULL; while (channel->is_readable != TRUE) ; @@ -187,7 +185,6 @@ zenity_progress_handle_stdin (GIOChannel *channel, GIOCondition condition, if (error) { g_warning ("%s: %s", __func__, error->message); - g_error_free (error); error = NULL; } continue; @@ -206,7 +203,8 @@ zenity_progress_handle_stdin (GIOChannel *channel, GIOCondition condition, } else if (g_str_has_prefix (string->str, "pulsate")) { - char *colon, *command, *value; + char *colon, *value; + g_autofree char *command = NULL; zenity_util_strip_newline (string->str); @@ -233,8 +231,6 @@ zenity_progress_handle_stdin (GIOChannel *channel, GIOCondition condition, else { zenity_progress_pulsate_start (progress_bar); } - - g_free (command); } else { @@ -274,7 +270,6 @@ zenity_progress_handle_stdin (GIOChannel *channel, GIOCondition condition, } while ((g_io_channel_get_buffer_condition (channel) & G_IO_IN) == G_IO_IN && status != G_IO_STATUS_EOF); - g_string_free (string, TRUE); } if ((condition & G_IO_IN) != G_IO_IN || status == G_IO_STATUS_EOF) diff --git a/src/scale.c b/src/scale.c index 62714a5..28831c4 100644 --- a/src/scale.c +++ b/src/scale.c @@ -39,7 +39,7 @@ static void zenity_scale_dialog_response (GtkWidget *widget, int response, void zenity_scale (ZenityData *data, ZenityScaleData *scale_data) { - GtkBuilder *builder; + g_autoptr(GtkBuilder) builder = NULL; GtkWidget *dialog; GtkWidget *button; GObject *text; @@ -140,8 +140,6 @@ zenity_scale (ZenityData *data, ZenityScaleData *scale_data) dialog); } - g_object_unref (builder); - zenity_util_gapp_main (GTK_WINDOW(dialog)); } diff --git a/src/text.c b/src/text.c index 09c8c43..1df25b2 100644 --- a/src/text.c +++ b/src/text.c @@ -170,8 +170,8 @@ zenity_text_handle_stdin (GIOChannel *channel, GIOCondition condition, if ((condition & G_IO_IN) || (condition & (G_IO_IN | G_IO_HUP))) { - GError *error = NULL; - gint status; + g_autoptr(GError) error = NULL; + int status; while (channel->is_readable != TRUE) ; @@ -190,7 +190,6 @@ zenity_text_handle_stdin (GIOChannel *channel, GIOCondition condition, if (error) { g_warning ("%s: %s", __func__, error->message); - g_error_free (error); error = NULL; } return FALSE; @@ -199,7 +198,7 @@ zenity_text_handle_stdin (GIOChannel *channel, GIOCondition condition, if (len > 0) { GtkTextIter end; - char *utftext; + g_autofree char *utftext = NULL; gsize localelen; gsize utflen; @@ -216,7 +215,6 @@ zenity_text_handle_stdin (GIOChannel *channel, GIOCondition condition, &utflen, NULL); gtk_text_buffer_insert (buffer, &end, utftext, utflen); - g_free (utftext); } else { @@ -253,7 +251,7 @@ zenity_text_fill_entries_from_stdin (GtkTextView *text_view) void zenity_text (ZenityData *data, ZenityTextData *text_data) { - GtkBuilder *builder; + g_autoptr(GtkBuilder) builder = NULL; GtkWidget *dialog; GtkWidget *ok_button; GtkWidget *checkbox; @@ -266,7 +264,7 @@ zenity_text (ZenityData *data, ZenityTextData *text_data) GtkWidget *web_kit; GtkWidget *scrolled_window; GtkTextIter start_iter, end_iter; - gchar *content; + g_autofree char *content = NULL; #endif zen_text_data = text_data; @@ -312,14 +310,13 @@ zenity_text (ZenityData *data, ZenityTextData *text_data) PangoFontDescription *desc; GtkStyleContext *context; GtkCssProvider *provider; - char *css_str; + g_autofree char *css_str = NULL; desc = pango_font_description_from_string (text_data->font); css_str = zenity_util_pango_font_description_to_css (desc); provider = gtk_css_provider_new (); gtk_css_provider_load_from_data (provider, css_str, -1); - g_free (css_str); context = gtk_widget_get_style_context (GTK_WIDGET(text_view)); gtk_style_context_add_provider (context, @@ -390,23 +387,19 @@ zenity_text (ZenityData *data, ZenityTextData *text_data) webkit_web_view_load_uri ( WEBKIT_WEB_VIEW (web_kit), text_data->url); } else { - gchar *cwd; - gchar *dirname; - gchar *dirname_uri; + g_autoptr char *cwd = NULL; + g_autoptr char *dirname = NULL; + g_autoptr char *dirname_uri = NULL; dirname = text_data->uri ? g_path_get_dirname (text_data->uri) : g_strdup ("/"); cwd = g_get_current_dir (); dirname_uri = g_strconcat ("file://", cwd, "/", dirname, "/", NULL); - g_free (cwd); - g_free (dirname); gtk_text_buffer_get_start_iter (text_buffer, &start_iter); gtk_text_buffer_get_end_iter (text_buffer, &end_iter); content = gtk_text_buffer_get_text ( text_buffer, &start_iter, &end_iter, TRUE); webkit_web_view_load_html ( WEBKIT_WEB_VIEW (web_kit), content, dirname_uri); - g_free (dirname_uri); - g_free (content); } // We don't want user to click on links and navigate to another page. @@ -425,8 +418,6 @@ zenity_text (ZenityData *data, ZenityTextData *text_data) zenity_util_show_dialog (dialog); - g_object_unref (builder); - if (data->timeout_delay > 0) { g_timeout_add_seconds (data->timeout_delay, @@ -451,13 +442,12 @@ zenity_text_dialog_output (ZenityData *zen_data) if (zen_text_data->editable) { GtkTextIter start, end; - char *text; + g_autofree char *text = NULL; gtk_text_buffer_get_bounds (zen_text_data->buffer, &start, &end); text = gtk_text_buffer_get_text (zen_text_data->buffer, &start, &end, 0); g_print ("%s", text); - g_free (text); } } diff --git a/src/tree.c b/src/tree.c index 6890452..6f07973 100644 --- a/src/tree.c +++ b/src/tree.c @@ -37,7 +37,6 @@ #define PRINT_HIDE_COLUMN_SEPARATOR "," -static GtkBuilder *builder; static GtkTreeView *tree_view; static GSList *selected; static char *separator; @@ -99,7 +98,7 @@ zenity_load_pixbuf (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, static GHashTable *pixbuf_cache = NULL; GError *error = NULL; GdkPixbuf *pixbuf; - char *str; + g_autofree char *str = NULL; gtk_tree_model_get (tree_model, iter, 0, &str, -1); @@ -126,8 +125,6 @@ zenity_load_pixbuf (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, if (pixbuf) g_object_set (cell, "pixbuf", pixbuf, NULL); - - g_free (str); } static gboolean @@ -164,8 +161,8 @@ zenity_tree_handle_stdin (GIOChannel *channel, GIOCondition condition, if ((condition & G_IO_IN) == G_IO_IN) { - GString *string; - GError *error = NULL; + g_autoptr(GString) string = NULL; + g_autoptr(GError) error = NULL; string = g_string_new (NULL); @@ -194,7 +191,6 @@ zenity_tree_handle_stdin (GIOChannel *channel, GIOCondition condition, if (error) { g_warning ("%s: %s", __func__, error->message); - g_error_free (error); error = NULL; } continue; @@ -241,8 +237,6 @@ zenity_tree_handle_stdin (GIOChannel *channel, GIOCondition condition, } while ((g_io_channel_get_buffer_condition (channel) & G_IO_IN) == G_IO_IN && status != G_IO_STATUS_EOF); /* !do while */ - - g_string_free (string, TRUE); } if ((condition & G_IO_IN) != G_IO_IN || status == G_IO_STATUS_EOF) @@ -337,7 +331,7 @@ zenity_cell_edited_callback (GtkCellRendererText *cell, const char *path_string, const char *new_text, gpointer data) { GtkTreeModel *model; - GtkTreePath *path; + g_autoptr(GtkTreePath) path = NULL; GtkTreeIter iter; int column; @@ -348,13 +342,12 @@ zenity_cell_edited_callback (GtkCellRendererText *cell, gtk_tree_model_get_iter (model, &iter, path); gtk_list_store_set (GTK_LIST_STORE (model), &iter, column, new_text, -1); - - gtk_tree_path_free (path); } void zenity_tree (ZenityData *data, ZenityTreeData *tree_data) { + g_autoptr(GtkBuilder) builder = NULL; GtkWidget *dialog; GtkWidget *button; GObject *text; @@ -692,8 +685,6 @@ zenity_tree (ZenityData *data, ZenityTreeData *tree_data) dialog); } - g_object_unref (builder); - zenity_util_gapp_main (GTK_WINDOW(dialog)); } @@ -887,7 +878,7 @@ zenity_tree_column_is_hidden (int column_index) static int * zenity_tree_extract_column_indexes (char *indexes, int n_columns) { - char **tmp; + g_auto(GStrv) tmp; int *result; int i, j, index; @@ -908,7 +899,5 @@ zenity_tree_extract_column_indexes (char *indexes, int n_columns) } result[j] = 0; - g_strfreev (tmp); - return result; } diff --git a/src/util.c b/src/util.c index f126840..d0dcc3f 100644 --- a/src/util.c +++ b/src/util.c @@ -55,7 +55,7 @@ zenity_util_load_ui_file (const char *root_widget, ...) char *arg = NULL; GPtrArray *ptrarray; GtkBuilder *builder = gtk_builder_new (); - GError *error = NULL; + g_autoptr(GError) error = NULL; char **objects; gboolean result = FALSE; @@ -98,7 +98,6 @@ zenity_util_load_ui_file (const char *root_widget, ...) if (error) { g_debug ("%s: Error generated: %s", __func__, error->message); - g_error_free (error); } return builder; @@ -180,13 +179,10 @@ zenity_util_fill_file_buffer (GtkTextBuffer *buffer, const char *filename) { void zenity_util_show_help (GError **error) { - char *tmp; - tmp = g_find_program_in_path ("yelp"); + g_autofree char *tmp = g_find_program_in_path ("yelp"); - if (tmp) { - g_free (tmp); + if (tmp) g_spawn_command_line_async ("yelp help:zenity", error); - } } int @@ -305,6 +301,8 @@ zenity_util_pango_font_description_to_css (PangoFontDescription *desc) case PANGO_VARIANT_SMALL_CAPS: g_string_append (s, "font-variant: small-caps; "); break; + default: + break; } } if (set & PANGO_FONT_MASK_WEIGHT) diff --git a/src/zenity.ui b/src/zenity.ui index 82513a4..03f9684 100644 --- a/src/zenity.ui +++ b/src/zenity.ui @@ -749,9 +749,4 @@ - - - - - -- cgit v1.2.1