evince r2942 - in trunk: . backend/comics backend/djvu backend/impress backend/pdf backend/pixbuf backend/ps backend/tiff libdocument properties



Author: carlosgc
Date: Mon Mar  3 15:01:17 2008
New Revision: 2942
URL: http://svn.gnome.org/viewvc/evince?rev=2942&view=rev

Log:
2008-03-03  Carlos Garcia Campos  <carlosgc gnome org>

	* backend/comics/comics-document.c:
	* backend/djvu/djvu-document.c:
	* backend/impress/impress-document.c:
	* backend/pdf/ev-poppler.cc:
	* backend/pixbuf/pixbuf-document.c:
	* backend/ps/ev-spectre.c:
	* backend/ps/ps-document.c:
	* backend/tiff/tiff-document.c:
	* libdocument/ev-document.h:
	* properties/ev-properties-main.c:

	Use g_type_module_add_interface instead of
	g_type_add_interface_static. Fixes bug #519679.


Modified:
   trunk/ChangeLog
   trunk/backend/comics/comics-document.c
   trunk/backend/djvu/djvu-document.c
   trunk/backend/impress/impress-document.c
   trunk/backend/pdf/ev-poppler.cc
   trunk/backend/pixbuf/pixbuf-document.c
   trunk/backend/ps/ev-spectre.c
   trunk/backend/ps/ps-document.c
   trunk/backend/tiff/tiff-document.c
   trunk/libdocument/ev-document.h
   trunk/properties/ev-properties-main.c

Modified: trunk/backend/comics/comics-document.c
==============================================================================
--- trunk/backend/comics/comics-document.c	(original)
+++ trunk/backend/comics/comics-document.c	Mon Mar  3 15:01:17 2008
@@ -64,8 +64,8 @@
 
 EV_BACKEND_REGISTER_WITH_CODE (ComicsDocument, comics_document,
 	{
-		G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
-				       comics_document_document_thumbnails_iface_init);
+		EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
+						comics_document_document_thumbnails_iface_init);
 	} );
 
 static char *

Modified: trunk/backend/djvu/djvu-document.c
==============================================================================
--- trunk/backend/djvu/djvu-document.c	(original)
+++ trunk/backend/djvu/djvu-document.c	Mon Mar  3 15:01:17 2008
@@ -60,11 +60,11 @@
 
 EV_BACKEND_REGISTER_WITH_CODE (DjvuDocument, djvu_document,
     {
-      G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS, djvu_document_document_thumbnails_iface_init);
-      G_IMPLEMENT_INTERFACE (EV_TYPE_FILE_EXPORTER, djvu_document_file_exporter_iface_init);
-      G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_FIND, djvu_document_find_iface_init);
-      G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_LINKS, djvu_document_document_links_iface_init);
-      G_IMPLEMENT_INTERFACE (EV_TYPE_SELECTION, djvu_selection_iface_init);
+      EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS, djvu_document_document_thumbnails_iface_init);
+      EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_FILE_EXPORTER, djvu_document_file_exporter_iface_init);
+      EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_FIND, djvu_document_find_iface_init);
+      EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_LINKS, djvu_document_document_links_iface_init);
+      EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_SELECTION, djvu_selection_iface_init);
      });
 
 

Modified: trunk/backend/impress/impress-document.c
==============================================================================
--- trunk/backend/impress/impress-document.c	(original)
+++ trunk/backend/impress/impress-document.c	Mon Mar  3 15:01:17 2008
@@ -63,8 +63,8 @@
 
 EV_BACKEND_REGISTER_WITH_CODE (ImpressDocument, impress_document,
 		         {
-			   G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
-						  impress_document_document_thumbnails_iface_init);
+			   EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
+							   impress_document_document_thumbnails_iface_init);
 			 });
 
 /* Renderer */

Modified: trunk/backend/pdf/ev-poppler.cc
==============================================================================
--- trunk/backend/pdf/ev-poppler.cc	(original)
+++ trunk/backend/pdf/ev-poppler.cc	Mon Mar  3 15:01:17 2008
@@ -126,26 +126,26 @@
 
 EV_BACKEND_REGISTER_WITH_CODE (PdfDocument, pdf_document,
 			 {
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_SECURITY,
-							pdf_document_security_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
-							pdf_document_document_thumbnails_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_LINKS,
-							pdf_document_document_links_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_IMAGES,
-							pdf_document_document_images_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_FORMS,
-							pdf_document_document_forms_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_FONTS,
-							pdf_document_document_fonts_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_FIND,
-							pdf_document_find_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_FILE_EXPORTER,
-							pdf_document_file_exporter_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_SELECTION,
-							pdf_selection_iface_init);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_TRANSITION,
-							pdf_document_page_transition_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_SECURITY,
+								 pdf_document_security_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
+								 pdf_document_document_thumbnails_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_LINKS,
+								 pdf_document_document_links_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_IMAGES,
+								 pdf_document_document_images_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_FORMS,
+								 pdf_document_document_forms_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_FONTS,
+								 pdf_document_document_fonts_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_FIND,
+								 pdf_document_find_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_FILE_EXPORTER,
+								 pdf_document_file_exporter_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_SELECTION,
+								 pdf_selection_iface_init);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_TRANSITION,
+								 pdf_document_page_transition_iface_init);
 			 });
 
 static void

Modified: trunk/backend/pixbuf/pixbuf-document.c
==============================================================================
--- trunk/backend/pixbuf/pixbuf-document.c	(original)
+++ trunk/backend/pixbuf/pixbuf-document.c	Mon Mar  3 15:01:17 2008
@@ -46,8 +46,8 @@
 
 EV_BACKEND_REGISTER_WITH_CODE (PixbufDocument, pixbuf_document,
                    {
-			 G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
-						pixbuf_document_document_thumbnails_iface_init)				   
+			 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
+							 pixbuf_document_document_thumbnails_iface_init)				   
 		   });
 
 static gboolean

Modified: trunk/backend/ps/ev-spectre.c
==============================================================================
--- trunk/backend/ps/ev-spectre.c	(original)
+++ trunk/backend/ps/ev-spectre.c	Mon Mar  3 15:01:17 2008
@@ -47,10 +47,10 @@
 
 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 */

Modified: trunk/backend/ps/ps-document.c
==============================================================================
--- trunk/backend/ps/ps-document.c	(original)
+++ trunk/backend/ps/ps-document.c	Mon Mar  3 15:01:17 2008
@@ -76,12 +76,12 @@
 
 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);
-				 G_IMPLEMENT_INTERFACE (EV_TYPE_ASYNC_RENDERER,
-							ps_async_renderer_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);
+				 EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_ASYNC_RENDERER,
+								 ps_async_renderer_iface_init);
 			 });
 
 /* PSDocument */

Modified: trunk/backend/tiff/tiff-document.c
==============================================================================
--- trunk/backend/tiff/tiff-document.c	(original)
+++ trunk/backend/tiff/tiff-document.c	Mon Mar  3 15:01:17 2008
@@ -59,10 +59,10 @@
 
 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;

Modified: trunk/libdocument/ev-document.h
==============================================================================
--- trunk/libdocument/ev-document.h	(original)
+++ trunk/libdocument/ev-document.h	Mon Mar  3 15:01:17 2008
@@ -126,6 +126,24 @@
 gint            ev_rect_cmp                   (EvRectangle     *a,
                                                EvRectangle     *b);
 
+/* convenience macro to ease interface addition in the CODE
+ * section of EV_BACKEND_REGISTER_WITH_CODE (this macro relies on
+ * the g_define_type_id present within EV_BACKEND_REGISTER_WITH_CODE()).
+ * usage example:
+ * EV_BACKEND_REGISTER_WITH_CODE (PdfDocument, pdf_document,
+ *                          EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT_THUMBNAILS,
+ *                                                 pdf_document_document_thumbnails_iface_init));
+ */
+#define EV_BACKEND_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init) {                \
+	const GInterfaceInfo g_implement_interface_info = {                     \
+		(GInterfaceInitFunc) iface_init, NULL, NULL                     \
+	};                                                                      \
+	g_type_module_add_interface (module,                                    \
+				     g_define_type_id,                          \
+				     TYPE_IFACE,                                \
+				     &g_implement_interface_info);              \
+}
+
 /*
  * Utility macro used to register backends
  *
@@ -174,8 +192,8 @@
 					    #BackendName,			\
 					    &our_info,				\
 					   (GTypeFlags)0);	                \
-	                                                                        \
-	G_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT,                                \
+							                        \
+	EV_BACKEND_IMPLEMENT_INTERFACE (EV_TYPE_DOCUMENT,                       \
                                backend_name##_document_iface_init);             \
 										\
 	CODE									\

Modified: trunk/properties/ev-properties-main.c
==============================================================================
--- trunk/properties/ev-properties-main.c	(original)
+++ trunk/properties/ev-properties-main.c	Mon Mar  3 15:01:17 2008
@@ -90,7 +90,7 @@
 	char *uri = NULL;
 	GtkWidget *page, *label;
 	NautilusPropertyPage *property_page;
-	
+
 	/* only add properties page if a single file is selected */
 	if (files == NULL || files->next != NULL)
 		goto end;
@@ -141,6 +141,7 @@
 void
 nautilus_module_shutdown (void)
 {
+	ev_backends_manager_shutdown ();
 }
 
 void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]