From 1a5cd090de92b35c7c6e62906a7d92bd1a090a33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Mon, 17 Apr 2023 12:07:07 +0200 Subject: [PATCH] lfb-event: Avoid allocation when getting profile We can return the const *. This makes it consistent with other getters. This is an API change we didn't find any users and the API is declared unstable. --- libfeedback/lfb-event.c | 12 +++++++----- libfeedback/lfb-event.h | 2 +- tests/test-lfb-event.c | 4 +--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libfeedback/lfb-event.c b/libfeedback/lfb-event.c index 0582bd0..3756ddf 100644 --- a/libfeedback/lfb-event.c +++ b/libfeedback/lfb-event.c @@ -244,7 +244,7 @@ lfb_event_get_property (GObject *object, g_value_set_int (value, self->timeout); break; case PROP_FEEDBACK_PROFILE: - g_value_set_string (value, self->profile); + g_value_set_string (value, lfb_event_get_feedback_profile (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -716,13 +716,15 @@ lfb_event_set_feedback_profile (LfbEvent *self, const gchar *profile) * lfb_event_get_feedback_profile: * @self: The event * - * Returns:(transfer full): The set feedback profile to use for this - * event or %NULL. + * Gets the set feedback profile. If no profile was set it returns + * %NULL. The event uses the system wide profile in this case. + * + * Returns: The set feedback profile to use for this event or %NULL. */ -char * +const char * lfb_event_get_feedback_profile (LfbEvent *self) { g_return_val_if_fail (LFB_IS_EVENT (self), NULL); - return g_strdup (self->profile); + return self->profile; } diff --git a/libfeedback/lfb-event.h b/libfeedback/lfb-event.h index 651b75d..921bd7f 100644 --- a/libfeedback/lfb-event.h +++ b/libfeedback/lfb-event.h @@ -74,7 +74,7 @@ gboolean lfb_event_end_feedback_finish (LfbEvent *self, void lfb_event_set_timeout (LfbEvent *self, gint timeout); gint lfb_event_get_timeout (LfbEvent *self); void lfb_event_set_feedback_profile (LfbEvent *self, const char *profile); -char *lfb_event_get_feedback_profile (LfbEvent *self); +const char *lfb_event_get_feedback_profile (LfbEvent *self); const char *lfb_event_get_event (LfbEvent *self); LfbEventState lfb_event_get_state (LfbEvent *self); LfbEventEndReason lfb_event_get_end_reason (LfbEvent *self); diff --git a/tests/test-lfb-event.c b/tests/test-lfb-event.c index 49d5b33..955a193 100644 --- a/tests/test-lfb-event.c +++ b/tests/test-lfb-event.c @@ -35,9 +35,7 @@ test_lfb_event_props (void) g_object_set (event, "feedback-profile", "full", NULL); g_object_get (event, "feedback-profile", &profile, NULL); g_assert_cmpstr (profile, ==, "full"); - g_free (profile); - profile = lfb_event_get_feedback_profile (event); - g_assert_cmpstr (profile, ==, "full"); + g_assert_cmpstr (lfb_event_get_feedback_profile (event), ==, "full"); lfb_uninit (); }