ges: Do not clear potentially NULL errors
authorThibault Saunier <tsaunier@gnome.org>
Tue, 17 Mar 2015 17:25:02 +0000 (18:25 +0100)
committerThibault Saunier <tsaunier@gnome.org>
Mon, 23 Mar 2015 11:41:00 +0000 (12:41 +0100)
And avoid dereferencing NULL errors

ges/ges-project.c
ges/ges-structured-interface.c

index b7bc3f9..43fb60d 100644 (file)
@@ -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;
     }
index 5ff474a..a561d80 100644 (file)
@@ -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;
   }