]> www.fi.muni.cz Git - evince.git/blobdiff - backend/tiff/tiff-document.c
Update Vietnamese translation
[evince.git] / backend / tiff / tiff-document.c
index d1473a17bbd3d94908305a030f91d7a4eba8e361..146e45539e78b3eec6c65749844c6e54b5d592a7 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "config.h"
 
+#include <config.h>
 #include <stdio.h>
 #include <glib.h>
 #include <glib/gi18n.h>
@@ -58,10 +59,10 @@ static void tiff_document_document_file_exporter_iface_init (EvFileExporterIface
 
 EV_BACKEND_REGISTER_WITH_CODE (TiffDocument, tiff_document,
                         {
-                          G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
-                                                 tiff_document_document_thumbnails_iface_init);
-                          G_IMPLEMENT_INTERFACE (EV_TYPE_FILE_EXPORTER,
-                                                 tiff_document_document_file_exporter_iface_init);
+                          EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
+                                                          tiff_document_document_thumbnails_iface_init);
+                          EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_FILE_EXPORTER,
+                                                          tiff_document_document_file_exporter_iface_init);
                         });
 
 static TIFFErrorHandler orig_error_handler = NULL;
@@ -214,9 +215,6 @@ tiff_document_render (EvDocument      *document,
        gint rowstride, bytes;
        guchar *pixels = NULL;
        guchar *p;
-       GdkPixbuf *pixbuf;
-       GdkPixbuf *scaled_pixbuf;
-       GdkPixbuf *rotated_pixbuf;
        cairo_surface_t *surface;
        cairo_surface_t *rotated_surface;
        static const cairo_user_data_key_t key;
@@ -248,11 +246,15 @@ tiff_document_render (EvDocument      *document,
        if (width <= 0 || height <= 0)
                return NULL;                
 
+#ifdef HAVE_CAIRO_FORMAT_STRIDE_FOR_WIDTH
+       rowstride = cairo_format_stride_for_width (CAIRO_FORMAT_RGB24, width);
+#else
        rowstride = width * 4;
        if (rowstride / 4 != width)
                /* overflow */
                return NULL;                
-        
+#endif
+       
        bytes = height * rowstride;
        if (bytes / rowstride != height)
                /* overflow */