Merge branch 'fixes' into 'main'
Fix crash exposed by glib 2.76 Closes #69 See merge request Librem5/feedbackd!109
This commit is contained in:
@@ -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')
|
||||
|
||||
+3
-3
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user