[retro-gtk] Use auto cleanup and clear functions where possible
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [retro-gtk] Use auto cleanup and clear functions where possible
- Date: Tue, 22 Dec 2020 10:35:54 +0000 (UTC)
commit 0f4881bcf4e8b790567104f7b8509bb58b6bca9d
Author: Adrien Plazas <kekun plazas laposte net>
Date: Sat Dec 19 13:41:48 2020 +0100
Use auto cleanup and clear functions where possible
This purposefuly doesn't do it for errors as they will later be handled
in a more appropriate way.
demos/retro-demo.c | 12 ++--
retro-gtk/retro-core-descriptor.c | 109 +++++++++------------------------
retro-gtk/retro-core-view-controller.c | 13 +---
retro-gtk/retro-core-view.c | 15 ++---
retro-gtk/retro-core.c | 4 +-
retro-gtk/retro-gl-display.c | 6 +-
retro-gtk/retro-module-iterator.c | 70 ++++++---------------
retro-gtk/retro-option.c | 10 ++-
retro-gtk/retro-video-filter.c | 6 +-
retro-runner/retro-core.c | 10 +--
10 files changed, 71 insertions(+), 184 deletions(-)
---
diff --git a/demos/retro-demo.c b/demos/retro-demo.c
index c2b8889..80c48f0 100644
--- a/demos/retro-demo.c
+++ b/demos/retro-demo.c
@@ -22,7 +22,7 @@ retro_demo_open (GApplication *application,
const gchar *hint)
{
RetroDemoApplication *self;
- char *module_path;
+ g_autofree char *module_path = NULL;
GError *error = NULL;
self = RETRO_DEMO_APPLICATION (application);
@@ -35,19 +35,17 @@ retro_demo_open (GApplication *application,
module_path = g_file_get_path (files[0]);
self->core = retro_core_new (module_path);
- g_free (module_path);
if (self->core == NULL)
return;
if (n_files > 1) {
- gchar **medias;
+ g_auto (GStrv) medias = NULL;
medias = g_new0 (gchar *, n_files);
for (gsize i = 1; i < n_files; i++)
medias[i - 1] = g_file_get_uri (files[i]);
retro_core_set_medias (self->core, (const gchar *const *) medias);
- g_strfreev (medias);
}
retro_core_boot (self->core, &error);
@@ -72,8 +70,7 @@ retro_demo_application_finalize (GObject *object)
{
RetroDemoApplication *self = RETRO_DEMO_APPLICATION (object);
- if (self->core != NULL)
- g_object_unref (self->core);
+ g_clear_object (&self->core);
G_OBJECT_CLASS (retro_demo_application_parent_class)->finalize (object);
}
@@ -133,7 +130,7 @@ gint
main (gint argc,
gchar *argv[])
{
- RetroDemoApplication *app;
+ g_autoptr (RetroDemoApplication) app = NULL;
int status;
g_set_prgname ("retro-demo");
@@ -141,7 +138,6 @@ main (gint argc,
app = retro_demo_application_new();
status = g_application_run (G_APPLICATION (app), argc, argv);
- g_object_unref (app);
return status;
}
diff --git a/retro-gtk/retro-core-descriptor.c b/retro-gtk/retro-core-descriptor.c
index 3a26118..87b8f3f 100644
--- a/retro-gtk/retro-core-descriptor.c
+++ b/retro-gtk/retro-core-descriptor.c
@@ -80,7 +80,7 @@ has_group_prefixed (RetroCoreDescriptor *self,
const gchar *group_prefix,
const gchar *group_suffix)
{
- gchar *group;
+ g_autofree gchar *group = NULL;
gboolean has_group;
g_assert (group_prefix != NULL);
@@ -88,7 +88,6 @@ has_group_prefixed (RetroCoreDescriptor *self,
group = g_strconcat (group_prefix, group_suffix, NULL);
has_group = g_key_file_has_group (self->key_file, group);
- g_free (group);
return has_group;
}
@@ -100,7 +99,7 @@ has_key_prefixed (RetroCoreDescriptor *self,
const gchar *key,
GError **error)
{
- gchar *group;
+ g_autofree gchar *group = NULL;
gboolean has_key;
GError *tmp_error = NULL;
@@ -114,14 +113,11 @@ has_key_prefixed (RetroCoreDescriptor *self,
key,
&tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
- g_free (group);
g_propagate_error (error, tmp_error);
return FALSE;
}
- g_free (group);
-
return has_key;
}
@@ -132,8 +128,8 @@ get_string_prefixed (RetroCoreDescriptor *self,
const gchar *key,
GError **error)
{
- gchar *group;
- gchar *string;
+ g_autofree gchar *group = NULL;
+ g_autofree gchar *string = NULL;
GError *tmp_error = NULL;
g_assert (group_prefix != NULL);
@@ -146,16 +142,10 @@ get_string_prefixed (RetroCoreDescriptor *self,
group,
key,
&tmp_error);
- if (G_UNLIKELY (tmp_error != NULL)) {
- g_free (group);
- g_propagate_error (error, tmp_error);
-
+ if (G_UNLIKELY (tmp_error != NULL))
return NULL;
- }
- g_free (group);
-
- return string;
+ return g_steal_pointer (&string);
}
static gchar **
@@ -166,8 +156,8 @@ get_string_list_prefixed (RetroCoreDescriptor *self,
gsize *length,
GError **error)
{
- gchar *group;
- gchar **list;
+ g_autofree gchar *group = NULL;
+ g_auto (GStrv) list = NULL;
GError *tmp_error = NULL;
g_assert (group_prefix != NULL);
@@ -182,15 +172,12 @@ get_string_list_prefixed (RetroCoreDescriptor *self,
length,
&tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
- g_free (group);
g_propagate_error (error, tmp_error);
return NULL;
}
- g_free (group);
-
- return list;
+ return g_steal_pointer (&list);
}
static void
@@ -279,8 +266,7 @@ check_platform_group (RetroCoreDescriptor *self,
GError **error)
{
gboolean has_key;
- gchar **firmwares;
- gchar *firmware_group;
+ g_auto (GStrv) firmwares = NULL;
GError *tmp_error = NULL;
g_assert (group != NULL);
@@ -315,6 +301,8 @@ check_platform_group (RetroCoreDescriptor *self,
}
for (GStrv firmware_p = firmwares; *firmware_p != NULL; firmware_p++) {
+ g_autofree gchar *firmware_group = NULL;
+
firmware_group = g_strconcat (FIRMWARE_GROUP_PREFIX, *firmware_p, NULL);
if (!g_key_file_has_group (self->key_file, firmware_group)) {
g_set_error (error,
@@ -326,16 +314,9 @@ check_platform_group (RetroCoreDescriptor *self,
firmware_group,
group);
- g_free (firmware_group);
- g_strfreev (firmwares);
-
return;
}
-
- g_free (firmware_group);
}
-
- g_strfreev (firmwares);
}
static void
@@ -412,16 +393,15 @@ retro_core_descriptor_has_icon (RetroCoreDescriptor *self,
gchar *
retro_core_descriptor_get_uri (RetroCoreDescriptor *self)
{
- GFile *file;
- gchar *uri;
+ g_autoptr (GFile) file = NULL;
+ g_autofree gchar *uri = NULL;
g_return_val_if_fail (RETRO_IS_CORE_DESCRIPTOR (self), NULL);
file = g_file_new_for_path (self->filename);
uri = g_file_get_uri (file);
- g_object_unref (file);
- return uri;
+ return g_steal_pointer (&uri);
}
/**
@@ -453,7 +433,7 @@ gboolean
retro_core_descriptor_get_is_game (RetroCoreDescriptor *self,
GError **error)
{
- gchar *type;
+ g_autofree gchar *type = NULL;
gboolean is_game;
GError *tmp_error = NULL;
@@ -470,7 +450,6 @@ retro_core_descriptor_get_is_game (RetroCoreDescriptor *self,
}
is_game = g_strcmp0 (type, TYPE_GAME) == 0;
- g_free (type);
return is_game;
}
@@ -488,7 +467,7 @@ gboolean
retro_core_descriptor_get_is_emulator (RetroCoreDescriptor *self,
GError **error)
{
- gchar *type;
+ g_autofree gchar *type = NULL;
gboolean is_emulator;
GError *tmp_error = NULL;
@@ -505,7 +484,6 @@ retro_core_descriptor_get_is_emulator (RetroCoreDescriptor *self,
}
is_emulator = g_strcmp0 (type, TYPE_EMULATOR) == 0;
- g_free (type);
return is_emulator;
}
@@ -544,7 +522,7 @@ GIcon *
retro_core_descriptor_get_icon (RetroCoreDescriptor *self,
GError **error)
{
- gchar *icon_name;
+ g_autofree gchar *icon_name = NULL;
GIcon *icon;
GError *tmp_error = NULL;
@@ -561,7 +539,6 @@ retro_core_descriptor_get_icon (RetroCoreDescriptor *self,
}
icon = G_ICON (g_themed_icon_new (icon_name));
- g_free (icon_name);
return icon;
}
@@ -600,41 +577,31 @@ GFile *
retro_core_descriptor_get_module_file (RetroCoreDescriptor *self,
GError **error)
{
- GFile *file;
- GFile *dir;
- gchar *module;
- GFile *module_file;
+ g_autoptr (GFile) file = NULL;
+ g_autoptr (GFile) dir = NULL;
+ g_autofree gchar *module = NULL;
+ g_autoptr (GFile) module_file = NULL;
GError *tmp_error = NULL;
g_return_val_if_fail (RETRO_IS_CORE_DESCRIPTOR (self), NULL);
file = g_file_new_for_path (self->filename);
dir = g_file_get_parent (file);
- g_object_unref (file);
if (dir == NULL)
return NULL;
module = retro_core_descriptor_get_module (self, &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
g_propagate_error (error, tmp_error);
- g_object_unref (dir);
return NULL;
}
module_file = g_file_get_child (dir, module);
- if (!g_file_query_exists (module_file, NULL)) {
- g_object_unref (dir);
- g_free (module);
- g_object_unref (module_file);
-
+ if (!g_file_query_exists (module_file, NULL))
return NULL;
- }
- g_object_unref (dir);
- g_free (module);
-
- return module_file;
+ return g_steal_pointer (&module_file);
}
/**
@@ -876,7 +843,7 @@ retro_core_descriptor_get_is_firmware_mandatory (RetroCoreDescriptor *self,
const gchar *firmware,
GError **error)
{
- gchar *group;
+ g_autofree gchar *group = NULL;
gboolean is_mandatory;
GError *tmp_error = NULL;
@@ -889,14 +856,11 @@ retro_core_descriptor_get_is_firmware_mandatory (RetroCoreDescriptor *self,
FIRMWARE_MANDATORY_KEY,
&tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
- g_free (group);
g_propagate_error (error, tmp_error);
return FALSE;
}
- g_free (group);
-
return is_mandatory;
}
@@ -917,7 +881,7 @@ retro_core_descriptor_get_platform_supports_mime_types (RetroCoreDescriptor *se
const gchar * const *mime_types,
GError **error)
{
- gchar **supported_mime_types;
+ g_auto (GStrv) supported_mime_types = NULL;
gsize supported_mime_types_length;
GError *tmp_error = NULL;
@@ -938,13 +902,8 @@ retro_core_descriptor_get_platform_supports_mime_types (RetroCoreDescriptor *se
for (; *mime_types != NULL; mime_types++)
if (!g_strv_contains ((const char * const *) supported_mime_types,
- *mime_types)) {
- g_strfreev (supported_mime_types);
-
+ *mime_types))
return FALSE;
- }
-
- g_strfreev (supported_mime_types);
return TRUE;
}
@@ -962,8 +921,8 @@ RetroCoreDescriptor *
retro_core_descriptor_new (const gchar *filename,
GError **error)
{
- RetroCoreDescriptor *self;
- gchar ** groups;
+ g_autoptr (RetroCoreDescriptor) self = NULL;
+ g_auto (GStrv) groups = NULL;
gsize groups_length;
GError *tmp_error = NULL;
@@ -977,7 +936,6 @@ retro_core_descriptor_new (const gchar *filename,
G_KEY_FILE_NONE,
&tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
- g_object_unref (self);
g_propagate_error (error, tmp_error);
return NULL;
@@ -985,7 +943,6 @@ retro_core_descriptor_new (const gchar *filename,
check_libretro_group (self, &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
- g_object_unref (self);
g_propagate_error (error, tmp_error);
return NULL;
@@ -997,8 +954,6 @@ retro_core_descriptor_new (const gchar *filename,
PLATFORM_GROUP_PREFIX)) {
check_platform_group (self, groups[i], &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
- g_strfreev (groups);
- g_object_unref (self);
g_propagate_error (error, tmp_error);
return NULL;
@@ -1008,8 +963,6 @@ retro_core_descriptor_new (const gchar *filename,
FIRMWARE_GROUP_PREFIX)) {
check_firmware_group (self, groups[i], &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
- g_strfreev (groups);
- g_object_unref (self);
g_propagate_error (error, tmp_error);
return NULL;
@@ -1017,7 +970,5 @@ retro_core_descriptor_new (const gchar *filename,
}
}
- g_strfreev (groups);
-
- return self;
+ return g_steal_pointer (&self);
}
diff --git a/retro-gtk/retro-core-view-controller.c b/retro-gtk/retro-core-view-controller.c
index 94f8d45..a5628d4 100644
--- a/retro-gtk/retro-core-view-controller.c
+++ b/retro-gtk/retro-core-view-controller.c
@@ -24,20 +24,17 @@ retro_core_view_controller_get_input_state (RetroController *base,
RetroInput *input)
{
RetroCoreViewController *self = RETRO_CORE_VIEW_CONTROLLER (base);
- gpointer view;
+ g_autoptr (RetroCoreView) view = NULL;
gint16 result;
if (retro_input_get_controller_type (input) != self->controller_type)
return 0;
view = g_weak_ref_get (&self->view);
-
if (view == NULL)
return 0;
- result = retro_core_view_get_input_state (RETRO_CORE_VIEW (view), input);
-
- g_object_unref (G_OBJECT (view));
+ result = retro_core_view_get_input_state (view, input);
return result;
}
@@ -54,18 +51,14 @@ static guint64
retro_core_view_controller_get_capabilities (RetroController *base)
{
RetroCoreViewController *self = RETRO_CORE_VIEW_CONTROLLER (base);
- gpointer view;
+ g_autoptr (GObject) view = g_weak_ref_get (&self->view);
guint64 capabilities;
- view = g_weak_ref_get (&self->view);
-
if (view == NULL)
return 0;
capabilities = retro_core_view_get_controller_capabilities (RETRO_CORE_VIEW (view));
- g_object_unref (G_OBJECT (view));
-
return capabilities & (1 << self->controller_type);
}
diff --git a/retro-gtk/retro-core-view.c b/retro-gtk/retro-core-view.c
index d5965b6..c93506a 100644
--- a/retro-gtk/retro-core-view.c
+++ b/retro-gtk/retro-core-view.c
@@ -129,7 +129,7 @@ grab (RetroCoreView *self,
{
GdkSeat *seat;
GdkDisplay *display;
- GdkCursor *cursor;
+ g_autoptr (GdkCursor) cursor = NULL;
GdkScreen *screen = NULL;
GdkMonitor *monitor;
GdkRectangle monitor_geometry;
@@ -138,13 +138,6 @@ grab (RetroCoreView *self,
g_assert (window != NULL);
g_assert (event != NULL);
- if (self->grabbed_device != NULL)
- g_object_unref (self->grabbed_device);
-
- if (self->grabbed_screen != NULL)
- g_object_unref (self->grabbed_screen);
-
- self->grabbed_device = g_object_ref (device);
seat = gdk_device_get_seat (device);
display = gdk_device_get_display (device);
cursor = gdk_cursor_new_for_display (display, GDK_BLANK_CURSOR);
@@ -153,17 +146,17 @@ grab (RetroCoreView *self,
gdk_monitor_get_geometry (monitor, &monitor_geometry);
gdk_device_get_position (device, &screen, &self->position_on_grab_x, &self->position_on_grab_y);
- self->grabbed_screen = g_object_ref (screen);
self->screen_center_x = monitor_geometry.x + monitor_geometry.width / 2;
self->screen_center_y = monitor_geometry.y + monitor_geometry.height / 2;
self->mouse_x_delta = 0;
self->mouse_y_delta = 0;
+ g_set_object (&self->grabbed_device, device);
+ g_set_object (&self->grabbed_screen, screen);
+
recenter_pointer (self);
g_signal_emit (self, signals[SIGNAL_CONTROLLER_STATE_CHANGED], 0);
-
- g_object_unref (cursor);
}
static void
diff --git a/retro-gtk/retro-core.c b/retro-gtk/retro-core.c
index decd61d..6d5c6e2 100644
--- a/retro-gtk/retro-core.c
+++ b/retro-gtk/retro-core.c
@@ -994,15 +994,13 @@ variables_set_cb (IpcRunner *runner,
GVariant *data,
RetroCore *self)
{
- GVariantIter *iter;
+ g_autoptr (GVariantIter) iter = NULL;
gchar *key, *value;
g_variant_get (data, "a(ss)", &iter);
while (g_variant_iter_loop (iter, "(ss)", &key, &value))
insert_variable (self, key, value);
-
- g_variant_iter_free (iter);
}
static void
diff --git a/retro-gtk/retro-gl-display.c b/retro-gtk/retro-gl-display.c
index c637e34..17e89c7 100644
--- a/retro-gtk/retro-gl-display.c
+++ b/retro-gtk/retro-gl-display.c
@@ -317,10 +317,8 @@ retro_gl_display_finalize (GObject *object)
self->texture = 0;
for (RetroVideoFilter filter = 0; filter < RETRO_VIDEO_FILTER_COUNT; filter++)
g_clear_object (&self->glsl_filter[filter]);
- if (self->core != NULL)
- g_object_unref (self->core);
- if (self->pixbuf != NULL)
- g_object_unref (self->pixbuf);
+ g_clear_object (&self->core);
+ g_clear_object (&self->pixbuf);
G_OBJECT_CLASS (retro_gl_display_parent_class)->finalize (object);
}
diff --git a/retro-gtk/retro-module-iterator.c b/retro-gtk/retro-module-iterator.c
index da29782..03ffdc5 100644
--- a/retro-gtk/retro-module-iterator.c
+++ b/retro-gtk/retro-module-iterator.c
@@ -73,15 +73,13 @@ new_for_subdirectory (const gchar *lookup_path,
static gboolean
was_current_directory_visited (RetroModuleIterator *self)
{
- GFile *current_directory_file;
- gchar *current_directory_path;
+ g_autoptr (GFile) current_directory_file = NULL;
+ g_autofree gchar *current_directory_path = NULL;
gboolean result;
current_directory_file = g_file_new_for_path (self->directories[self->current_directory]);
current_directory_path = g_file_get_path (current_directory_file);
- g_object_unref (current_directory_file);
result = g_hash_table_contains (self->visited, current_directory_path);
- g_free (current_directory_path);
return result;
}
@@ -89,12 +87,11 @@ was_current_directory_visited (RetroModuleIterator *self)
static void
set_current_directory_as_visited (RetroModuleIterator *self)
{
- GFile *current_directory_file;
- gchar *current_directory_path;
+ g_autoptr (GFile) current_directory_file = NULL;
+ g_autofree gchar *current_directory_path = NULL;
current_directory_file = g_file_new_for_path (self->directories[self->current_directory]);
current_directory_path = g_file_get_path (current_directory_file);
- g_object_unref (current_directory_file);
g_hash_table_add (self->visited, current_directory_path);
}
@@ -102,18 +99,13 @@ static gboolean
next_in_sub_directory (RetroModuleIterator *self)
{
if (retro_module_iterator_next (self->sub_directory)) {
- if (self->core_descriptor != NULL)
- g_object_unref (self->core_descriptor);
-
+ g_clear_object (&self->core_descriptor);
self->core_descriptor = retro_module_iterator_get (self->sub_directory);
return TRUE;
}
- if (self->sub_directory != NULL) {
- g_object_unref (self->sub_directory);
- self->sub_directory = NULL;
- }
+ g_clear_object (&self->sub_directory);
return FALSE;
}
@@ -124,12 +116,9 @@ iterate_next_in_current_path (RetroModuleIterator *self,
GFileInfo *info,
GError **error)
{
- const gchar *sub_directory_basename;
- GFile *sub_directory_file;
- gchar *sub_directory_path;
const gchar *core_descriptor_basename;
- GFile *core_descriptor_file;
- gchar *core_descriptor_path;
+ g_autoptr (GFile) core_descriptor_file = NULL;
+ g_autofree gchar *core_descriptor_path = NULL;
RetroCoreDescriptor *core_descriptor;
GError *tmp_error = NULL;
@@ -139,19 +128,18 @@ iterate_next_in_current_path (RetroModuleIterator *self,
if (self->recursive &&
g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY &&
self->sub_directory == NULL) {
+ const gchar *sub_directory_basename;
+ g_autoptr (GFile) sub_directory_file = NULL;
+ g_autofree gchar *sub_directory_path = NULL;
+
sub_directory_basename = g_file_info_get_name (info);
sub_directory_file = g_file_get_child (directory, sub_directory_basename);
sub_directory_path = g_file_get_path (sub_directory_file);
- g_object_unref (sub_directory_file);
-
- if (g_hash_table_contains (self->visited, sub_directory_path)) {
- g_free (sub_directory_path);
+ if (g_hash_table_contains (self->visited, sub_directory_path))
return FALSE;
- }
self->sub_directory = new_for_subdirectory (sub_directory_path, self->visited);
- g_free (sub_directory_path);
return next_in_sub_directory (self);
}
@@ -162,18 +150,15 @@ iterate_next_in_current_path (RetroModuleIterator *self,
core_descriptor_file = g_file_get_child (directory, core_descriptor_basename);
core_descriptor_path = g_file_get_path (core_descriptor_file);
- g_object_unref (core_descriptor_file);
core_descriptor = retro_core_descriptor_new (core_descriptor_path, &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
g_debug ("%s", tmp_error->message);
g_error_free (tmp_error);
- g_free (core_descriptor_path);
return FALSE;
}
- g_free (core_descriptor_path);
g_clear_object (&self->core_descriptor);
self->core_descriptor = core_descriptor;
@@ -184,10 +169,8 @@ static gboolean
next_in_current_path (RetroModuleIterator *self,
GError **error)
{
- GFile *directory = NULL;
- GFileInfo *info = NULL;
+ g_autoptr (GFile) directory = NULL;
gboolean found = FALSE;
-
GError *tmp_error = NULL;
if (self->sub_directory != NULL && next_in_sub_directory (self))
@@ -204,28 +187,21 @@ next_in_current_path (RetroModuleIterator *self,
&tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
g_propagate_error (error, tmp_error);
- g_object_unref (directory);
g_clear_object (&self->file_enumerator);
return FALSE;
}
}
- if (self->file_enumerator == NULL) {
- g_object_unref (directory);
-
+ if (self->file_enumerator == NULL)
return FALSE;
- }
while (TRUE) {
- if (info != NULL)
- g_object_unref (info);
+ g_autoptr (GFileInfo) info = NULL;
info = g_file_enumerator_next_file (self->file_enumerator, NULL, &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
g_propagate_error (error, tmp_error);
- g_clear_object (&info);
- g_object_unref (directory);
return FALSE;
}
@@ -236,22 +212,15 @@ next_in_current_path (RetroModuleIterator *self,
found = iterate_next_in_current_path (self, directory, info, &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
g_propagate_error (error, tmp_error);
- g_object_unref (info);
- g_object_unref (directory);
return FALSE;
}
- if (found) {
- g_object_unref (info);
- g_object_unref (directory);
-
+ if (found)
return TRUE;
- }
}
g_clear_object (&self->file_enumerator);
- g_object_unref (directory);
return FALSE;
}
@@ -313,10 +282,7 @@ retro_module_iterator_next (RetroModuleIterator *self)
g_clear_object (&self->file_enumerator);
g_clear_object (&self->core_descriptor);
- if (self->sub_directory != NULL) {
- g_object_unref (self->sub_directory);
- self->sub_directory = NULL;
- }
+ g_clear_object (&self->sub_directory);
return FALSE;
}
diff --git a/retro-gtk/retro-option.c b/retro-gtk/retro-option.c
index 01b3c36..eff2654 100644
--- a/retro-gtk/retro-option.c
+++ b/retro-gtk/retro-option.c
@@ -185,9 +185,9 @@ retro_option_new (const gchar *key,
const gchar *definition,
GError **error)
{
- RetroOption *self;
+ g_autoptr (RetroOption) self;
gchar *description_separator;
- gchar **values;
+ g_auto(GStrv) values = NULL;
g_return_val_if_fail (key != NULL, NULL);
g_return_val_if_fail (definition != NULL, NULL);
@@ -204,8 +204,6 @@ retro_option_new (const gchar *key,
values = g_strsplit (description_separator + 2, "|", 0);
if (G_UNLIKELY (*values == NULL)) {
- g_strfreev (values);
-
g_set_error_literal (error,
RETRO_OPTION_ERROR,
RETRO_OPTION_ERROR_NO_VALUES,
@@ -219,7 +217,7 @@ retro_option_new (const gchar *key,
self->key = g_strdup (key);
self->description = g_strndup (definition,
description_separator - definition);
- self->values = values;
+ self->values = g_steal_pointer (&values);
- return self;
+ return g_steal_pointer (&self);
}
diff --git a/retro-gtk/retro-video-filter.c b/retro-gtk/retro-video-filter.c
index 9367c5c..8667032 100644
--- a/retro-gtk/retro-video-filter.c
+++ b/retro-gtk/retro-video-filter.c
@@ -21,9 +21,9 @@
RetroVideoFilter
retro_video_filter_from_string (const gchar *filter)
{
- GEnumClass* enum_class;
+ g_autoptr (GEnumClass) enum_class = NULL;
+ GEnumValue* eval;
RetroVideoFilter result;
- GEnumValue* eval = NULL;
g_return_val_if_fail (filter != NULL, RETRO_VIDEO_FILTER_SMOOTH);
@@ -34,7 +34,5 @@ retro_video_filter_from_string (const gchar *filter)
RETRO_VIDEO_FILTER_SMOOTH :
(RetroVideoFilter) eval->value;
- g_type_class_unref (enum_class);
-
return result;
}
diff --git a/retro-runner/retro-core.c b/retro-runner/retro-core.c
index 002618b..7ec0936 100644
--- a/retro-runner/retro-core.c
+++ b/retro-runner/retro-core.c
@@ -116,13 +116,11 @@ retro_core_finalize (GObject *object)
deinit = retro_module_get_deinit (self->module);
deinit ();
- if (self->media_uris != NULL)
- g_strfreev (self->media_uris);
+ g_clear_pointer (&self->media_uris, g_strfreev);
g_object_unref (self->module);
g_object_unref (self->framebuffer);
- if (self->default_controller)
- g_object_unref (self->default_controller);
+ g_clear_object (&self->default_controller);
g_hash_table_unref (self->controllers);
g_hash_table_unref (self->variables);
g_hash_table_unref (self->variable_overrides);
@@ -1321,9 +1319,7 @@ retro_core_set_medias (RetroCore *self,
g_return_if_fail (RETRO_IS_CORE (self));
g_return_if_fail (!retro_core_get_is_initiated (self));
- if (self->media_uris != NULL)
- g_strfreev (self->media_uris);
-
+ g_clear_pointer (&self->media_uris, g_strfreev);
self->media_uris = g_strdupv ((gchar **) uris);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]