[gnome-photos/wip/rishi/misc-fixes: 1/14] pipeline: Transparently handle deserialization errors
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/wip/rishi/misc-fixes: 1/14] pipeline: Transparently handle deserialization errors
- Date: Mon, 28 Dec 2015 17:07:59 +0000 (UTC)
commit 597460ef86311c92cf65f1ce72b9184ae4510e2a
Author: Debarshi Ray <debarshir gnome org>
Date: Mon Dec 28 17:37:51 2015 +0100
pipeline: Transparently handle deserialization errors
We already handle cases where there is nothing to restore from, so it
seems reasonable to handle deserialization errors too.
src/photos-pipeline.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/src/photos-pipeline.c b/src/photos-pipeline.c
index 087b126..6c04bf4 100644
--- a/src/photos-pipeline.c
+++ b/src/photos-pipeline.c
@@ -245,9 +245,6 @@ photos_pipeline_async_initable_init_load_contents (GObject *source_object, GAsyn
}
}
- parent = gegl_node_get_parent (self->graph);
- g_clear_object (&self->graph);
-
/* HACK: This graph is busted. eg., the input and output proxies
* point to the same GeglNode. I can't imagine this to be
* anything else other than a GEGL bug.
@@ -258,10 +255,17 @@ photos_pipeline_async_initable_init_load_contents (GObject *source_object, GAsyn
graph = gegl_node_new_from_xml (contents, "/");
if (graph == NULL)
{
- g_task_return_new_error (task, PHOTOS_ERROR, 0, "Failed to deserialize from XML");
- goto out;
+ gchar *uri;
+
+ uri = g_file_get_uri (file);
+ g_warning ("Unable to deserialize from %s", uri);
+ g_free (uri);
+ goto carry_on;
}
+ parent = gegl_node_get_parent (self->graph);
+ g_clear_object (&self->graph);
+
self->graph = gegl_node_new ();
if (parent != NULL)
gegl_node_add_child (parent, self->graph);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]