From d114cc60bd9e3b9126bf7bfbc83672186186e84e Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Tue, 17 Mar 2015 18:25:02 +0100 Subject: [PATCH] ges: Do not clear potentially NULL errors And avoid dereferencing NULL errors --- ges/ges-project.c | 3 ++- ges/ges-structured-interface.c | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ges/ges-project.c b/ges/ges-project.c index b7bc3f905e..43fb60d2bb 100644 --- a/ges/ges-project.c +++ b/ges/ges-project.c @@ -763,7 +763,8 @@ ges_project_create_asset_sync (GESProject * project, const gchar * id, if (possible_id == NULL) return NULL; - g_clear_error (error); + if (error) + g_clear_error (error); id = possible_id; } diff --git a/ges/ges-structured-interface.c b/ges/ges-structured-interface.c index 5ff474a172..a561d80da0 100644 --- a/ges/ges-structured-interface.c +++ b/ges/ges-structured-interface.c @@ -185,12 +185,16 @@ _ges_get_asset_from_timeline (GESTimeline * timeline, GType type, { GESAsset *asset; GESProject *project = ges_timeline_get_project (timeline); + GError *err = NULL; - asset = ges_project_create_asset_sync (project, id, type, error); + asset = ges_project_create_asset_sync (project, id, type, &err); + + if (err) + g_propagate_error (error, err); if (!asset || (error && *error)) { GST_ERROR ("There was an error requesting the asset with id %s and type %s (%s)", - id, g_type_name (type), (*error) ? (*error)->message : "unknown"); + id, g_type_name (type), error ? (*error)->message : "unknown"); return NULL; }