git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added background color support to swf_Render*.
[swftools.git]
/
pdf2swf
/
xpdf
/
GfxState.cc
diff --git
a/pdf2swf/xpdf/GfxState.cc
b/pdf2swf/xpdf/GfxState.cc
index
65a1da8
..
5aa9c28
100644
(file)
--- a/
pdf2swf/xpdf/GfxState.cc
+++ b/
pdf2swf/xpdf/GfxState.cc
@@
-1983,12
+1983,14
@@
GfxImageColorMap::GfxImageColorMap(int bitsA, Object *decode,
double x[gfxColorMaxComps];
double y[gfxColorMaxComps];
int i, j, k;
double x[gfxColorMaxComps];
double y[gfxColorMaxComps];
int i, j, k;
+ int maxPixelForAlloc;
ok = gTrue;
// bits per component and color space
bits = bitsA;
maxPixel = (1 << bits) - 1;
ok = gTrue;
// bits per component and color space
bits = bitsA;
maxPixel = (1 << bits) - 1;
+ maxPixelForAlloc = (1 << (bits>8?bits:8));
colorSpace = colorSpaceA;
// get decode map
colorSpace = colorSpaceA;
// get decode map
@@
-2035,7
+2037,7
@@
GfxImageColorMap::GfxImageColorMap(int bitsA, Object *decode,
colorSpace2 = indexedCS->getBase();
indexHigh = indexedCS->getIndexHigh();
nComps2 = colorSpace2->getNComps();
colorSpace2 = indexedCS->getBase();
indexHigh = indexedCS->getIndexHigh();
nComps2 = colorSpace2->getNComps();
- lookup = (double *)gmalloc((maxPixel + 1) * nComps2 * sizeof(double));
+ lookup = (double *)gmalloc((maxPixelForAlloc + 1) * nComps2 * sizeof(double));
lookup2 = indexedCS->getLookup();
colorSpace2->getDefaultRanges(x, y, indexHigh);
for (i = 0; i <= maxPixel; ++i) {
lookup2 = indexedCS->getLookup();
colorSpace2->getDefaultRanges(x, y, indexHigh);
for (i = 0; i <= maxPixel; ++i) {
@@
-2053,7
+2055,7
@@
GfxImageColorMap::GfxImageColorMap(int bitsA, Object *decode,
sepCS = (GfxSeparationColorSpace *)colorSpace;
colorSpace2 = sepCS->getAlt();
nComps2 = colorSpace2->getNComps();
sepCS = (GfxSeparationColorSpace *)colorSpace;
colorSpace2 = sepCS->getAlt();
nComps2 = colorSpace2->getNComps();
- lookup = (double *)gmalloc((maxPixel + 1) * nComps2 * sizeof(double));
+ lookup = (double *)gmalloc((maxPixelForAlloc + 1) * nComps2 * sizeof(double));
sepFunc = sepCS->getFunc();
for (i = 0; i <= maxPixel; ++i) {
x[0] = decodeLow[0] + (i * decodeRange[0]) / maxPixel;
sepFunc = sepCS->getFunc();
for (i = 0; i <= maxPixel; ++i) {
x[0] = decodeLow[0] + (i * decodeRange[0]) / maxPixel;
@@
-2063,7
+2065,7
@@
GfxImageColorMap::GfxImageColorMap(int bitsA, Object *decode,
}
}
} else {
}
}
} else {
- lookup = (double *)gmalloc((maxPixel + 1) * nComps * sizeof(double));
+ lookup = (double *)gmalloc((maxPixelForAlloc + 1) * nComps * sizeof(double));
for (i = 0; i <= maxPixel; ++i) {
for (k = 0; k < nComps; ++k) {
lookup[i*nComps + k] = decodeLow[k] +
for (i = 0; i <= maxPixel; ++i) {
for (k = 0; k < nComps; ++k) {
lookup[i*nComps + k] = decodeLow[k] +