summaryrefslogtreecommitdiffstats
path: root/src/poppler-1-win32.patch
blob: 2a1fe30988eb9aa19246c08b7d8366148b9f4503 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
This file is part of MXE.
See index.html for further information.

From 19910ebb3242f3089ac7ba2cc83ad21c11a29b31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20L=C3=B6ffler?= <st.loeffler@gmail.com>
Date: Mon, 15 Sep 2014 19:53:04 -0700
Subject: [PATCH 1/2] Only check for Type1 fonts in custom directory if path is
 non-NULL

Otherwise, programs using poppler may crash
Proposed upstream at https://bugs.freedesktop.org/show_bug.cgi?id=49037

diff --git a/poppler/GlobalParamsWin.cc b/poppler/GlobalParamsWin.cc
index 084b49b..9bd7dac 100644
--- a/poppler/GlobalParamsWin.cc
+++ b/poppler/GlobalParamsWin.cc
@@ -423,7 +423,7 @@ void GlobalParams::setupBaseFonts(char * dir)
         if (fontFiles->lookup(fontName))
             continue;
 
-        if (dir) {
+        if (dir && displayFontTab[i].t1FileName) {
             GooString *fontPath = appendToPath(new GooString(dir), displayFontTab[i].t1FileName);
             if (FileExists(fontPath->getCString()) ||
                 FileExists(replaceSuffix(fontPath, ".pfb", ".pfa")->getCString())) {
-- 
2.1.2


From 346680cd02223d6be57c4eecb983505db13b2acf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20L=C3=B6ffler?= <st.loeffler@gmail.com>
Date: Mon, 15 Sep 2014 20:01:22 -0700
Subject: [PATCH 2/2] Don't use dllimport/dllexport

Otherwise static linking fails

MXE workaround for https://bugs.freedesktop.org/show_bug.cgi?id=49038
(presumably would break shared linking!)

diff --git a/cpp/poppler-global.h b/cpp/poppler-global.h
index eb7ec24..dd13e02 100644
--- a/cpp/poppler-global.h
+++ b/cpp/poppler-global.h
@@ -21,13 +21,8 @@
 #ifndef POPPLER_GLOBAL_H
 #define POPPLER_GLOBAL_H
 
-#if defined(_WIN32)
-#  define LIB_EXPORT __declspec(dllexport)
-#  define LIB_IMPORT __declspec(dllimport)
-#else
 #  define LIB_EXPORT
 #  define LIB_IMPORT
-#endif
 
 #if defined(poppler_cpp_EXPORTS)
 #  define POPPLER_CPP_EXPORT LIB_EXPORT
diff --git a/poppler/XpdfPluginAPI.h b/poppler/XpdfPluginAPI.h
index 6ed890a..8b7222b 100644
--- a/poppler/XpdfPluginAPI.h
+++ b/poppler/XpdfPluginAPI.h
@@ -47,19 +47,11 @@ extern "C" {
  */
 #define xpdfPluginAPIVersion 1
 
-#ifdef _WIN32
-#  ifdef __cplusplus
-#    define PLUGINFUNC(retType) extern "C" __declspec(dllexport) retType
-#  else
-#    define PLUGINFUNC(retType) extern __declspec(dllexport) retType
-#  endif
-#else
 #  ifdef __cplusplus
 #    define PLUGINFUNC(retType) extern "C" retType
 #  else
 #    define PLUGINFUNC(retType) extern retType
 #  endif
-#endif
 
 /*------------------------------------------------------------------------
  * Plugin setup/cleanup
@@ -286,22 +278,12 @@ void (*_xpdfRegisterSecurityHandler)(XpdfSecurityHandler *handler);
 
 } XpdfPluginVecTable;
 
-#ifdef _WIN32
-
-extern __declspec(dllexport) XpdfPluginVecTable xpdfPluginVecTable;
-
-#define xpdfPluginSetup \
-  extern __declspec(dllexport) \
-  XpdfPluginVecTable xpdfPluginVecTable = {xpdfPluginAPIVersion};
-
-#else
 
 extern XpdfPluginVecTable xpdfPluginVecTable;
 
 #define xpdfPluginSetup \
   XpdfPluginVecTable xpdfPluginVecTable = {xpdfPluginAPIVersion};
 
-#endif
 
 #define xpdfGetInfoDict (*xpdfPluginVecTable._xpdfGetInfoDict)
 #define xpdfGetCatalog (*xpdfPluginVecTable._xpdfGetCatalog)
diff --git a/qt4/src/poppler-export.h b/qt4/src/poppler-export.h
index 2e2f6ff..e625564 100644
--- a/qt4/src/poppler-export.h
+++ b/qt4/src/poppler-export.h
@@ -2,10 +2,7 @@
 * This file is used to set the poppler_qt4_EXPORT macros right.
 * This is needed for setting the visibility on windows, it will have no effect on other platforms.
 */
-#if defined(_WIN32)
-# define _POPPLER_QT4_LIB_EXPORT __declspec(dllexport)
-# define _POPPLER_QT4_LIB_IMPORT __declspec(dllimport)
-#elif defined(__GNUC__)
+#if defined(__GNUC__)
 # define _POPPLER_QT4_LIB_EXPORT __attribute__((visibility("default")))
 # define _POPPLER_QT4_LIB_IMPORT
 #else
-- 
2.1.2