Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/thumbnailer
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2007-12-28 18:13:32 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2007-12-28 18:13:32 (GMT)
commit31e16bd8f386dc292e60489d4a17227804bdc2e6 (patch)
tree84a81ef8fa45a24351f9e8f2c0e5f2eeb20064c2 /thumbnailer
parent8fd7569d7f146b1b21365d5afcfb7795756e544f (diff)
Plugin system for backends. Fixes bug #351348.
2007-12-28 Carlos Garcia Campos <carlosgc@gnome.org> * configure.ac: * Makefile.am: * po/POTFILES.in: * backend/comics/Makefile.am: * backend/comics/comics-document.[ch]: * backend/comics/comicsdocument.evince-backend.in: * backend/djvu/Makefile.am: * backend/djvu/djvu-document.[ch]: * backend/djvu/djvudocument.evince-backend.in: * backend/dvi/Makefile.am: * backend/dvi/dvi-document.[c]: * backend/dvi/dvidocument.evince-backend.in: * backend/impress/Makefile.am: * backend/impress/impress-document.[ch]: * backend/impress/impressdocument.evince-backend.in: * backend/pdf/Makefile.am: * backend/pdf/ev-poppler.cc: * backend/pdf/ev-poppler.h: * backend/pdf/pdfdocument.evince-backend.in: * backend/pixbuf/Makefile.am: * backend/pixbuf/pixbuf-document.[ch]: * backend/pixbuf/pixbufdocument.evince-backend.in: * backend/ps/Makefile.am: * backend/ps/ev-spectre.[ch]: * backend/ps/ps-document.[ch]: * backend/ps/psdocument.evince-backend.in: * backend/tiff/Makefile.am: * backend/tiff/tiff-document.[ch]: * backend/tiff/tiffdocument.evince-backend.in: * libdocument/Makefile.am: * libdocument/ev-backends-manager.[ch]: * libdocument/ev-module.[ch]: * libdocument/ev-document.h: * libdocument/ev-document-factory.[ch]: (gdk_pixbuf_mime_type_list), (mime_type_supported_by_gdk_pixbuf), (get_compression_from_mime_type), (get_document_from_uri), (ev_document_factory_get_document), (file_filter_add_mime_types), (ev_document_factory_add_filters): * shell/Makefile.am: * shell/ev-window-title.c: (get_filename_from_uri): * shell/main.c: (main): * thumbnailer/Makefile.am: * thumbnailer/evince-thumbnailer.c: (main): Plugin system for backends. Fixes bug #351348. svn path=/trunk/; revision=2786
Diffstat (limited to 'thumbnailer')
-rw-r--r--thumbnailer/Makefile.am12
-rw-r--r--thumbnailer/evince-thumbnailer.c13
2 files changed, 11 insertions, 14 deletions
diff --git a/thumbnailer/Makefile.am b/thumbnailer/Makefile.am
index 25868e9..0d34109 100644
--- a/thumbnailer/Makefile.am
+++ b/thumbnailer/Makefile.am
@@ -19,18 +19,6 @@ evince_thumbnailer_LDADD= \
$(FRONTEND_LIBS) \
$(DJVU_LIBS)
-if ENABLE_DJVU
-evince_thumbnailer_LDADD += $(DJVU_LIBS)
-endif
-
-if ENABLE_DVI
-evince_thumbnailer_LDADD += -lkpathsea
-endif
-
-if WITH_TYPE1_FONTS
-evince_thumbnailer_LDADD += -lt1
-endif
-
schema_files = \
evince-thumbnailer-dvi.schemas.in \
evince-thumbnailer-djvu.schemas.in \
diff --git a/thumbnailer/evince-thumbnailer.c b/thumbnailer/evince-thumbnailer.c
index f76b9c4..d550674 100644
--- a/thumbnailer/evince-thumbnailer.c
+++ b/thumbnailer/evince-thumbnailer.c
@@ -26,6 +26,7 @@
#include <ev-document-thumbnails.h>
#include <ev-async-renderer.h>
#include <ev-document-factory.h>
+#include <ev-backends-manager.h>
#include <stdlib.h>
#include <string.h>
@@ -163,16 +164,21 @@ main (int argc, char *argv[])
gnome_vfs_init ();
+ ev_backends_manager_init ();
+
uri = gnome_vfs_make_uri_from_shell_arg (input);
document = evince_thumbnailer_get_document (uri);
g_free (uri);
- if (!document)
+ if (!document) {
+ ev_backends_manager_shutdown ();
return -2;
+ }
if (!EV_IS_DOCUMENT_THUMBNAILS (document)) {
g_object_unref (document);
- return FALSE;
+ ev_backends_manager_shutdown ();
+ return -2;
}
if (EV_IS_ASYNC_RENDERER (document)) {
@@ -190,16 +196,19 @@ main (int argc, char *argv[])
gtk_main ();
g_object_unref (document);
+ ev_backends_manager_shutdown ();
return data.success ? 0 : -2;
}
if (!evince_thumbnail_pngenc_get (document, output, size)) {
g_object_unref (document);
+ ev_backends_manager_shutdown ();
return -2;
}
g_object_unref (document);
+ ev_backends_manager_shutdown ();
return 0;
}