]> www.fi.muni.cz Git - evince.git/commitdiff
Document that this returns either NULL and fills in error, or non-NULL.
authorChristian Persch <chpe@src.gnome.org>
Sun, 15 Feb 2009 13:52:14 +0000 (13:52 +0000)
committerChristian Persch <chpe@src.gnome.org>
Sun, 15 Feb 2009 13:52:14 +0000 (13:52 +0000)
* libdocument/ev-document-factory.c: (get_document_from_uri): Document
that this returns either NULL and fills in error, or non-NULL. Use a
local GError so we can reliably check it.

svn path=/trunk/; revision=3445

ChangeLog
libdocument/ev-document-factory.c

index 83af46796b1be9eceef8b89bc18d54c919fb98ca..55d918455ed56cdfd236f95c423bcd4bd7b7b2c9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-02-14  Christian Persch  <chpe@gnome.org>
+
+       * libdocument/ev-document-factory.c: (get_document_from_uri): Document
+       that this returns either NULL and fills in error, or non-NULL. Use a
+       local GError so we can reliably check it.
+
 2009-02-14  Christian Persch  <chpe@gnome.org>
 
        * libdocument/ev-document-factory.c: (get_document_from_uri): Use the
index f0172ff8f4a4db86edd9ec32af2de5cab8e89a91..575dfb955dfe03166df34e9031ffefeb86a450f7 100644 (file)
@@ -104,6 +104,21 @@ get_compression_from_mime_type (const gchar *mime_type)
        return EV_COMPRESSION_NONE;
 }
 
+
+/*
+ * get_document_from_uri:
+ * @uri: the document URI
+ * @fast: whether to use fast MIME type detection
+ * @compression: return location to store the document's compression type
+ * @error: a #GError location to store an error, or %NULL
+ *
+ * Creates a #EvDocument instance for the document at @uri, using either
+ * fast or slow MIME type detection. If a document could be created,
+ * @compression is filled in with the document's compression type.
+ * On error, %NULL is returned and @error filled in.
+ * 
+ * Returns: a new #EvDocument instance, or %NULL on error
+ */
 static EvDocument *
 get_document_from_uri (const char        *uri,
                       gboolean           fast,
@@ -112,19 +127,22 @@ get_document_from_uri (const char        *uri,
 {
        EvDocument *document = NULL;
        gchar      *mime_type = NULL;
+       GError     *err = NULL;
 
        *compression = EV_COMPRESSION_NONE;
 
-       mime_type = ev_file_get_mime_type (uri, fast, error);
+       mime_type = ev_file_get_mime_type (uri, fast, &err);
 
        if (mime_type == NULL) {
                g_free (mime_type);
 
-               if (*error == NULL) {
+               if (err == NULL) {
                        g_set_error_literal (error,
                                              EV_DOCUMENT_ERROR,
                                              EV_DOCUMENT_ERROR_INVALID,
                                              _("Unknown MIME Type"));
+               } else {
+                       g_propagate_error (error, err);
                }
                
                return NULL;