]> www.fi.muni.cz Git - evince.git/blobdiff - backend/dvi/dvi-document.c
[libdocument] Use G_DEFINE_INTERFACE instead of out own macro
[evince.git] / backend / dvi / dvi-document.c
index 863276d76d5e2259084beeb0ec8cf0d84e6cbad8..2365c1ecf406f159e8cb05bc33fbe37be60634e9 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #include "config.h"
 
 #include "dvi-document.h"
+#include "texmfcnf.h"
 #include "ev-document-thumbnails.h"
 #include "ev-document-misc.h"
 #include "ev-file-exporter.h"
 
 #include <glib/gi18n-lib.h>
 #include <ctype.h>
-#include <sys/wait.h>
+#ifdef G_OS_WIN32
+# define WIFEXITED(x) ((x) != 3)
+# define WEXITSTATUS(x) (x)
+#else
+# include <sys/wait.h>
+#endif
 #include <stdlib.h>
 
 GMutex *dvi_context_mutex = NULL;
@@ -68,11 +74,11 @@ struct _DviDocument
 
 typedef struct _DviDocumentClass DviDocumentClass;
 
-static void dvi_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface);
-static void dvi_document_file_exporter_iface_init      (EvFileExporterIface       *iface);
-static void dvi_document_do_color_special               (DviContext                *dvi,
-                                                        const char                *prefix,
-                                                        const char                *arg);
+static void dvi_document_document_thumbnails_iface_init (EvDocumentThumbnailsInterface *iface);
+static void dvi_document_file_exporter_iface_init      (EvFileExporterInterface       *iface);
+static void dvi_document_do_color_special               (DviContext                    *dvi,
+                                                        const char                    *prefix,
+                                                        const char                    *arg);
 
 EV_BACKEND_REGISTER_WITH_CODE (DviDocument, dvi_document,
      {
@@ -234,10 +240,14 @@ dvi_document_class_init (DviDocumentClass *klass)
 {
        GObjectClass    *gobject_class = G_OBJECT_CLASS (klass);
        EvDocumentClass *ev_document_class = EV_DOCUMENT_CLASS (klass);
+       gchar *texmfcnf;
 
        gobject_class->finalize = dvi_document_finalize;
 
-       mdvi_init_kpathsea ("evince", MDVI_MFMODE, MDVI_FALLBACK_FONT, MDVI_DPI);
+       texmfcnf = get_texmfcnf();
+       mdvi_init_kpathsea ("evince", MDVI_MFMODE, MDVI_FALLBACK_FONT, MDVI_DPI, texmfcnf);
+       g_free(texmfcnf);
+
        mdvi_register_special ("Color", "color", NULL, dvi_document_do_color_special, 1);
        mdvi_register_fonts ();
 
@@ -327,7 +337,7 @@ dvi_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document,
 }
 
 static void
-dvi_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface)
+dvi_document_document_thumbnails_iface_init (EvDocumentThumbnailsInterface *iface)
 {
        iface->get_thumbnail = dvi_document_thumbnails_get_thumbnail;
        iface->get_dimensions = dvi_document_thumbnails_get_dimensions;
@@ -403,7 +413,7 @@ dvi_document_file_exporter_get_capabilities (EvFileExporter *exporter)
 }
 
 static void
-dvi_document_file_exporter_iface_init (EvFileExporterIface *iface)
+dvi_document_file_exporter_iface_init (EvFileExporterInterface *iface)
 {
         iface->begin = dvi_document_file_exporter_begin;
         iface->do_page = dvi_document_file_exporter_do_page;