[gnome-documents/gnome-3-14] pdf-loader: Unbreak loading Google and SkyDrive items from the cache
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-documents/gnome-3-14] pdf-loader: Unbreak loading Google and SkyDrive items from the cache
- Date: Wed, 22 Apr 2015 16:45:18 +0000 (UTC)
commit 39d06df2e1df679c27c636d8fb2f92fb33c3f9ac
Author: Debarshi Ray <debarshir gnome org>
Date: Wed Apr 22 11:38:08 2015 +0200
pdf-loader: Unbreak loading Google and SkyDrive items from the cache
Fall out from 53a17bdb40d5f82f8ac8f655afc657bcf835da22
https://bugzilla.gnome.org/show_bug.cgi?id=748300
src/lib/gd-pdf-loader.c | 53 +++++++++++++++++++++++++---------------------
1 files changed, 29 insertions(+), 24 deletions(-)
---
diff --git a/src/lib/gd-pdf-loader.c b/src/lib/gd-pdf-loader.c
index 21d0407..7a8890e 100644
--- a/src/lib/gd-pdf-loader.c
+++ b/src/lib/gd-pdf-loader.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, 2013 Red Hat, Inc.
+ * Copyright (c) 2011, 2012, 2013, 2015 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@@ -965,20 +965,6 @@ static void
pdf_load_job_from_regular_file (PdfLoadJob *job)
{
GFile *file;
- const gchar *gdata_prefix = "google:drive:";
- const gchar *zpj_prefix = "windows-live:skydrive:";
-
- if (g_str_has_prefix (job->uri, gdata_prefix)) {
- job->resource_id = g_strdup (job->uri + strlen (gdata_prefix));
- pdf_load_job_from_gdata_cache (job);
- return;
- }
-
- if (g_str_has_prefix (job->uri, zpj_prefix)) {
- job->resource_id = g_strdup (job->uri + strlen (zpj_prefix));
- pdf_load_job_from_zpj_cache (job);
- return;
- }
file = g_file_new_for_uri (job->uri);
g_file_query_info_async (file,
@@ -1144,23 +1130,42 @@ pdf_load_job_from_remote_file (PdfLoadJob *job)
}
static void
-pdf_load_job_start (PdfLoadJob *job)
+pdf_load_job_from_uri (PdfLoadJob *job)
{
- GFile *file = NULL;
+ GFile *file;
+ const gchar *gdata_prefix = "google:drive:";
+ const gchar *zpj_prefix = "windows-live:skydrive:";
- if (job->uri != NULL)
- file = g_file_new_for_uri (job->uri);
+ if (g_str_has_prefix (job->uri, gdata_prefix)) {
+ job->resource_id = g_strdup (job->uri + strlen (gdata_prefix));
+ pdf_load_job_from_gdata_cache (job);
+ return;
+ }
+ if (g_str_has_prefix (job->uri, zpj_prefix)) {
+ job->resource_id = g_strdup (job->uri + strlen (zpj_prefix));
+ pdf_load_job_from_zpj_cache (job);
+ return;
+ }
+
+ file = g_file_new_for_uri (job->uri);
+ if (!g_file_is_native (file))
+ pdf_load_job_from_remote_file (job);
+ else
+ pdf_load_job_from_regular_file (job);
+
+ g_object_unref (file);
+}
+
+static void
+pdf_load_job_start (PdfLoadJob *job)
+{
if (job->gdata_entry != NULL)
pdf_load_job_from_google_documents (job);
else if (job->zpj_entry != NULL)
pdf_load_job_from_skydrive (job);
- else if (file != NULL && !g_file_is_native (file))
- pdf_load_job_from_remote_file (job);
else
- pdf_load_job_from_regular_file (job);
-
- g_clear_object (&file);
+ pdf_load_job_from_uri (job);
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]