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
124
125
126
127
128
129
130
131
|
This file is part of MXE.
See index.html for further information.
From 2904b3daa0e5bacabfc45b194447310a9a02fdaf 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
---
poppler/GlobalParamsWin.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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())) {
--
1.8.3.2
From a684e7b8ed36b716a1a51b0b7ba136505c719e35 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!)
---
cpp/poppler-global.h | 5 -----
poppler/XpdfPluginAPI.h | 18 ------------------
qt4/src/poppler-export.h | 5 +----
3 files changed, 1 insertion(+), 27 deletions(-)
diff --git a/cpp/poppler-global.h b/cpp/poppler-global.h
index 5650182..6c3e01b 100644
--- a/cpp/poppler-global.h
+++ b/cpp/poppler-global.h
@@ -20,13 +20,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
--
1.8.3.2
|