]> www.fi.muni.cz Git - evince.git/blobdiff - backend/ps/ev-spectre.c
Do not crash when thumbnail failed to render in PS backend. Fixes bug
[evince.git] / backend / ps / ev-spectre.c
index 1252b8d2faa18c07b7dc9c51b747d4ad4d0d44f5..6fe58692e1630f03d9e7047aca10c11fe6588c9b 100644 (file)
@@ -47,10 +47,10 @@ static void ps_document_document_thumbnails_iface_init (EvDocumentThumbnailsIfac
 
 EV_BACKEND_REGISTER_WITH_CODE (PSDocument, ps_document,
                          {
-                                G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
-                                                       ps_document_document_thumbnails_iface_init);
-                                G_IMPLEMENT_INTERFACE (EV_TYPE_FILE_EXPORTER,
-                                                       ps_document_file_exporter_iface_init);
+                                EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
+                                                                ps_document_document_thumbnails_iface_init);
+                                EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_FILE_EXPORTER,
+                                                                ps_document_file_exporter_iface_init);
                         });
 
 /* PSDocument */
@@ -351,6 +351,11 @@ ps_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document_thumbnails,
        GdkPixbuf       *pixbuf = NULL;
 
        surface = ps_document_render (EV_DOCUMENT (ps), rc);
+       if (!surface) {
+               g_warning ("Error rendering thumbnail");
+               return NULL;
+       }
+               
        pixbuf = ev_document_misc_pixbuf_from_surface (surface);
        cairo_surface_destroy (surface);