diff --git a/libfeedback/meson.build b/libfeedback/meson.build index 09a495c..27d94c6 100644 --- a/libfeedback/meson.build +++ b/libfeedback/meson.build @@ -87,7 +87,6 @@ if introspection '--quiet', '-DLIBFEEDBACK_COMPILATION', '-DLIBFEEDBACK_USE_UNSTABLE_API', - '--warn-error', '--warn-all', ] @@ -104,6 +103,7 @@ if introspection install_dir_gir : girdir, install_dir_typelib : typelibdir, extra_args : libfeedback_gir_extra_args, + fatal_warnings : true, ) if get_option('vapi') diff --git a/src/fbd-event.c b/src/fbd-event.c index 96e1c6d..917b5e2 100644 --- a/src/fbd-event.c +++ b/src/fbd-event.c @@ -376,8 +376,6 @@ fbd_event_remove_feedback (FbdEvent *self, FbdFeedbackBase *feedback) void fbd_event_run_feedbacks (FbdEvent *self) { - GSList *l; - g_return_if_fail (FBD_IS_EVENT (self)); g_debug ("Running %d feedbacks for event %d", g_slist_length (self->feedbacks), self->id); @@ -392,10 +390,12 @@ fbd_event_run_feedbacks (FbdEvent *self) g_source_set_name_by_id (self->timeout_id, "event timeout source"); } - for (l = self->feedbacks; l; l = l->next) { + g_object_ref (self); + for (GSList *l = self->feedbacks; l; l = l->next) { FbdFeedbackBase *fb = FBD_FEEDBACK_BASE (l->data); fbd_feedback_run (fb); } + g_object_unref (self); } /** diff --git a/src/fbd-feedback-profile.c b/src/fbd-feedback-profile.c index 28d6f29..94cbb36 100644 --- a/src/fbd-feedback-profile.c +++ b/src/fbd-feedback-profile.c @@ -58,7 +58,7 @@ fbd_feedback_profile_serializable_serialize_property (JsonSerializable *serializ GHashTableIter iter; gpointer key; FbdFeedbackProfile *profile; - JsonArray *array = json_array_sized_new (FBD_FEEDBACK_PROFILE_N_PROFILES); + g_autoptr (JsonArray) array = json_array_sized_new (FBD_FEEDBACK_PROFILE_N_PROFILES); g_hash_table_iter_init (&iter, self->feedbacks); while (g_hash_table_iter_next (&iter, (gpointer *)&key, (gpointer *) &profile)) { diff --git a/src/fbd-feedback-theme.c b/src/fbd-feedback-theme.c index 3274920..e416f89 100644 --- a/src/fbd-feedback-theme.c +++ b/src/fbd-feedback-theme.c @@ -53,7 +53,7 @@ fbd_theme_serializable_serialize_property (JsonSerializable *serializable, GHashTableIter iter; gpointer key; FbdFeedbackProfile *profile; - JsonArray *array = json_array_sized_new (FBD_FEEDBACK_PROFILE_N_PROFILES); + g_autoptr (JsonArray) array = json_array_sized_new (FBD_FEEDBACK_PROFILE_N_PROFILES); g_hash_table_iter_init (&iter, self->profiles); while (g_hash_table_iter_next (&iter, (gpointer *)&key, (gpointer *) &profile)) { @@ -182,6 +182,7 @@ fbd_feedback_theme_finalize (GObject *object) { FbdFeedbackTheme *self = FBD_FEEDBACK_THEME (object); + g_clear_pointer (&self->parent_name, g_free); g_clear_pointer (&self->name, g_free); G_OBJECT_CLASS (fbd_feedback_theme_parent_class)->finalize (object); diff --git a/tests/test-fbd-feedback-profile.c b/tests/test-fbd-feedback-profile.c index 96fd247..546cc90 100644 --- a/tests/test-fbd-feedback-profile.c +++ b/tests/test-fbd-feedback-profile.c @@ -68,7 +68,7 @@ test_fbd_feedback_profile_parse (void) " } "; g_autoptr (GError) err = NULL; g_autoptr (FbdFeedbackProfile) profile = NULL; - JsonNode *node; + g_autoptr (JsonNode) node = NULL; FbdFeedbackBase *fb; node = json_from_string(json, &err); diff --git a/tests/test-fbd-feedback-theme.c b/tests/test-fbd-feedback-theme.c index c5cb636..f1987be 100644 --- a/tests/test-fbd-feedback-theme.c +++ b/tests/test-fbd-feedback-theme.c @@ -36,11 +36,11 @@ test_fbd_feedback_theme_profiles (void) g_autoptr (FbdFeedbackDummy) full_fb2 = g_object_new (FBD_TYPE_FEEDBACK_DUMMY, "event-name", "event2", NULL); - g_autoptr(FbdFeedbackTheme) theme = fbd_feedback_theme_new (THEME_NAME); - + FbdFeedbackTheme *theme = fbd_feedback_theme_new (THEME_NAME); FbdFeedbackProfile *profile_full = fbd_feedback_profile_new ("full"); FbdFeedbackProfile *profile_quiet = fbd_feedback_profile_new ("quiet"); FbdFeedbackProfile *profile; + g_autofree char *json = NULL; fbd_feedback_profile_add_feedback (profile_quiet, FBD_FEEDBACK_BASE(quiet_fb1)); fbd_feedback_profile_add_feedback (profile_quiet, FBD_FEEDBACK_BASE(quiet_fb2)); @@ -55,7 +55,12 @@ test_fbd_feedback_theme_profiles (void) profile = fbd_feedback_theme_get_profile (theme, "full"); g_assert_true (FBD_IS_FEEDBACK_PROFILE (profile)); - g_print ("%s\n", json_gobject_to_data (G_OBJECT(theme), NULL)); + json = json_gobject_to_data (G_OBJECT(theme), NULL); + g_print ("%s\n", json); + + g_assert_finalize_object (theme); + g_assert_finalize_object (profile_full); + g_assert_finalize_object (profile_quiet); }