diff options
author | Dima Panov <fluffy@FreeBSD.org> | 2009-12-21 16:45:13 +0000 |
---|---|---|
committer | Dima Panov <fluffy@FreeBSD.org> | 2009-12-21 16:45:13 +0000 |
commit | 80e659b64f141f8fe1715c9555cba56bf8ae208d (patch) | |
tree | 93e199f6196efe8c8788ec9a2d463f333032d2cc /editors/calligra/files | |
parent | 57baf6eab63e403c93fe6107d20b65a24b4ca635 (diff) | |
download | ports-80e659b64f141f8fe1715c9555cba56bf8ae208d.tar.gz ports-80e659b64f141f8fe1715c9555cba56bf8ae208d.zip |
The KDE FreeBSD team is proud to announce the release of KOffice2 suite for FreeBSD. The official KOffice 2.1.0 notes can be found here
(http://www.koffice.org/news/koffice-2-1-released/)
We'd like to say thanks to all helpers, testers and submitters.
Happy Installing.
Approved by: miwi (mentor)
Notes
Notes:
svn path=/head/; revision=246374
Diffstat (limited to 'editors/calligra/files')
8 files changed, 30 insertions, 857 deletions
diff --git a/editors/calligra/files/patch-configure b/editors/calligra/files/patch-configure deleted file mode 100644 index 98de59b3654b..000000000000 --- a/editors/calligra/files/patch-configure +++ /dev/null @@ -1,46 +0,0 @@ ---- ./configure.orig 2007-05-31 01:56:35.000000000 +0400 -+++ ./configure 2009-05-20 01:27:42.000000000 +0400 -@@ -33902,6 +33902,8 @@ - - have_imagemagick=no - -+if test "$have_graphicsmagick" = "no"; then -+ - { echo "$as_me:$LINENO: checking for Magick-config" >&5 - echo $ECHO_N "checking for Magick-config... $ECHO_C" >&6; } - if test -n "$MAGICK_CONFIG"; then -@@ -34014,7 +34016,7 @@ - LIBMAGICK_RPATH= - fi - -- -+fi - - - -@@ -38922,10 +38924,10 @@ - - - --if test -z ""2.5""; then -+if test -z ""%%PYTHON_VER%%""; then - version="1.5" - else -- version=""2.5"" -+ version=""%%PYTHON_VER%%"" - fi - - { echo "$as_me:$LINENO: checking for Python$version" >&5 -@@ -51126,10 +51128,10 @@ - - - --if test -z ""2.5""; then -+if test -z ""%%PYTHON_VER%%""; then - version="1.5" - else -- version=""2.5"" -+ version=""%%PYTHON_VER%%"" - fi - - { echo "$as_me:$LINENO: checking for Python$version" >&5 diff --git a/editors/calligra/files/patch-filters-kword-msword b/editors/calligra/files/patch-filters-kword-msword deleted file mode 100644 index 070bdacc3903..000000000000 --- a/editors/calligra/files/patch-filters-kword-msword +++ /dev/null @@ -1,83 +0,0 @@ ---- filters/kword/msword/conversion.cpp.orig 2007-05-31 08:39:22.000000000 +1100 -+++ filters/kword/msword/conversion.cpp 2009-09-17 23:26:19.000000000 +1100 -@@ -295,7 +295,7 @@ - - void Conversion::setBorderAttributes( QDomElement& borderElement, const wvWare::Word97::BRC& brc, const QString& prefix ) - { -- setColorAttributes( borderElement, brc.ico, prefix, false ); -+ setColorAttributes( borderElement, brc.cv, prefix, false ); - - borderElement.setAttribute( prefix.isNull() ? "width" : prefix+"Width", - (double)brc.dptLineWidth / 8.0 ); ---- filters/kword/msword/document.cpp.orig 2007-05-31 08:39:22.000000000 +1100 -+++ filters/kword/msword/document.cpp 2009-09-17 16:10:28.000000000 +1100 -@@ -390,28 +390,28 @@ - { - // Frame borders - -- if ( brcTop.ico != 255 && brcTop.dptLineWidth != 255 ) // see tablehandler.cpp -+ if ( brcTop.cv != 255 && brcTop.dptLineWidth != 255 ) // see tablehandler.cpp - Conversion::setBorderAttributes( frameElementOut, brcTop, "t" ); -- if ( brcBottom.ico != 255 && brcBottom.dptLineWidth != 255 ) // see tablehandler.cpp -+ if ( brcBottom.cv != 255 && brcBottom.dptLineWidth != 255 ) // see tablehandler.cpp - Conversion::setBorderAttributes( frameElementOut, brcBottom, "b" ); -- if ( brcLeft.ico != 255 && brcLeft.dptLineWidth != 255 ) // could still be 255, for first column -+ if ( brcLeft.cv != 255 && brcLeft.dptLineWidth != 255 ) // could still be 255, for first column - Conversion::setBorderAttributes( frameElementOut, brcLeft, "l" ); -- if ( brcRight.ico != 255 && brcRight.dptLineWidth != 255 ) // could still be 255, for last column -+ if ( brcRight.cv != 255 && brcRight.dptLineWidth != 255 ) // could still be 255, for last column - Conversion::setBorderAttributes( frameElementOut, brcRight, "r" ); - - // Frame background brush (color and fill style) -- if ( shd.icoFore != 0 || shd.icoBack != 0 ) -+ if ( shd.cvFore != 0 || shd.cvBack != 0 ) - { -- // If ipat = 0 (solid fill), icoBack is the background color. -- // But otherwise, icoFore is the one we need to set as bkColor -- // (and icoBack is usually white; it's the other colour of the pattern, -+ // If ipat = 0 (solid fill), cvBack is the background color. -+ // But otherwise, cvFore is the one we need to set as bkColor -+ // (and cvBack is usually white; it's the other colour of the pattern, - // something that we can't set in Qt apparently). -- int bkColor = shd.ipat ? shd.icoFore : shd.icoBack; -- kdDebug(30513) << "generateFrameBorder: " << " icoFore=" << shd.icoFore << " icoBack=" << shd.icoBack << " ipat=" << shd.ipat << " -> bkColor=" << bkColor << endl; -+ int bkColor = shd.ipat ? shd.cvFore : shd.cvBack; -+ kdDebug(30513) << "generateFrameBorder: " << " cvFore=" << shd.cvFore << " cvBack=" << shd.cvBack << " ipat=" << shd.ipat << " -> bkColor=" << bkColor << endl; - - // Reverse-engineer MSWord's own hackery: it models various gray levels - // using dithering. But this looks crappy with Qt. So we go back to a QColor. -- bool grayHack = ( shd.ipat && shd.icoFore == 1 && shd.icoBack == 8 ); -+ bool grayHack = ( shd.ipat && shd.cvFore == 1 && shd.cvBack == 8 ); - if ( grayHack ) - { - bool ok; ---- filters/kword/msword/tablehandler.cpp.orig 2007-05-31 08:39:22.000000000 +1100 -+++ filters/kword/msword/tablehandler.cpp 2009-09-18 00:24:42.000000000 +1100 -@@ -169,11 +169,11 @@ - const wvWare::Word97::BRC& brcTop = tc.brcTop; - const wvWare::Word97::BRC& brcBottom = tc.brcBottom; - const wvWare::Word97::BRC& brcLeft = -- ( tc.brcLeft.ico == 255 && tc.brcLeft.dptLineWidth == 255 && m_column > 0 ) ? -+ ( tc.brcLeft.cv == 255 && tc.brcLeft.dptLineWidth == 255 && m_column > 0 ) ? - m_tap->rgtc[ m_column - 1 ].brcRight - : tc.brcLeft; - const wvWare::Word97::BRC& brcRight = -- ( tc.brcRight.ico == 255 && tc.brcRight.dptLineWidth == 255 && m_column < nbCells - 1 ) ? -+ ( tc.brcRight.cv == 255 && tc.brcRight.dptLineWidth == 255 && m_column < nbCells - 1 ) ? - m_tap->rgtc[ m_column + 1 ].brcLeft - : tc.brcRight; - ---- filters/kword/msword/texthandler.cpp.orig 2007-05-31 08:39:22.000000000 +1100 -+++ filters/kword/msword/texthandler.cpp 2009-10-11 15:50:25.000000000 +1100 -@@ -322,9 +322,9 @@ - format.setAttribute( "pos", pos ); - format.setAttribute( "len", len ); - -- if ( !refChp || refChp->ico != chp->ico ) -+ if ( !refChp || refChp->cv != chp->cv ) - { -- QColor color = Conversion::color( chp->ico, -1 ); -+ QColor color = Conversion::color( chp->cv, -1 ); - QDomElement colorElem( mainDocument().createElement( "COLOR" ) ); - colorElem.setAttribute( "red", color.red() ); - colorElem.setAttribute( "blue", color.blue() ); diff --git a/editors/calligra/files/patch-kexi_examples-update_sql_files.sh b/editors/calligra/files/patch-kexi_examples-update_sql_files.sh deleted file mode 100644 index 1c869369a21e..000000000000 --- a/editors/calligra/files/patch-kexi_examples-update_sql_files.sh +++ /dev/null @@ -1,15 +0,0 @@ ---- kexi/examples/update_sql_files.sh.orig Sun Mar 4 13:49:03 2007 -+++ kexi/examples/update_sql_files.sh Sun Mar 4 13:49:14 2007 -@@ -4,9 +4,9 @@ - # Only .sql file that is older than .kexi file is recreated. - # ksqlite is needed on the PATH - --KEXISQL3PATH=../3rdparty/kexisql3/src/.libs/ --PATH=$PATH:$KEXISQL3PATH --LD_LIBRARY_PATH=$KEXISQL3PATH:$KEXISQL3PATH -+export KEXISQL3PATH=../3rdparty/kexisql3/src/.libs/ -+export PATH=$PATH:$KEXISQL3PATH -+export LD_LIBRARY_PATH=$KEXISQL3PATH:$KEXISQL3PATH - which ksqlite > /dev/null || exit 1 - - for f in `ls -1 *.kexi` ; do diff --git a/editors/calligra/files/patch-koffice-1.6.3-xpdf2-CVE-2007-4352-5392-5393.diff b/editors/calligra/files/patch-koffice-1.6.3-xpdf2-CVE-2007-4352-5392-5393.diff deleted file mode 100644 index dabcf23d44aa..000000000000 --- a/editors/calligra/files/patch-koffice-1.6.3-xpdf2-CVE-2007-4352-5392-5393.diff +++ /dev/null @@ -1,669 +0,0 @@ ---- filters/kword/pdf/xpdf/xpdf/Stream.cc -+++ filters/kword/pdf/xpdf/xpdf/Stream.cc -@@ -1239,6 +1239,7 @@ - // CCITTFaxStream - //------------------------------------------------------------------------ - -+#if 0 - CCITTFaxStream::CCITTFaxStream(Stream *strA, int encodingA, GBool endOfLineA, - GBool byteAlignA, int columnsA, int rowsA, - GBool endOfBlockA, GBool blackA): -@@ -1748,6 +1749,609 @@ - } - return (inputBuf >> (inputBits - n)) & (0xffff >> (16 - n)); - } -+#else // secfix -+CCITTFaxStream::CCITTFaxStream(Stream *strA, int encodingA, GBool endOfLineA, -+ GBool byteAlignA, int columnsA, int rowsA, -+ GBool endOfBlockA, GBool blackA): -+ FilterStream(strA) { -+ encoding = encodingA; -+ endOfLine = endOfLineA; -+ byteAlign = byteAlignA; -+ columns = columnsA; -+ if (columns < 1) { -+ columns = 1; -+ } else if (columns > (INT_MAX - 2)/sizeof(int)) { -+ columns = (INT_MAX - 2)/sizeof(int); -+ } -+ rows = rowsA; -+ endOfBlock = endOfBlockA; -+ black = blackA; -+ // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = columns -+ // ---> max codingLine size = columns + 1 -+ // refLine has one extra guard entry at the end -+ // ---> max refLine size = columns + 2 -+ codingLine = (int *)gmalloc((columns + 1) * sizeof(int)); -+ refLine = (int *)gmalloc((columns + 2) * sizeof(int)); -+ -+ eof = gFalse; -+ row = 0; -+ nextLine2D = encoding < 0; -+ inputBits = 0; -+ codingLine[0] = columns; -+ a0i = 0; -+ outputBits = 0; -+ -+ buf = EOF; -+} -+ -+CCITTFaxStream::~CCITTFaxStream() { -+ delete str; -+ gfree(refLine); -+ gfree(codingLine); -+} -+ -+void CCITTFaxStream::reset() { -+ short code1; -+ -+ str->reset(); -+ eof = gFalse; -+ row = 0; -+ nextLine2D = encoding < 0; -+ inputBits = 0; -+ codingLine[0] = columns; -+ a0i = 0; -+ outputBits = 0; -+ buf = EOF; -+ -+ // skip any initial zero bits and end-of-line marker, and get the 2D -+ // encoding tag -+ while ((code1 = lookBits(12)) == 0) { -+ eatBits(1); -+ } -+ if (code1 == 0x001) { -+ eatBits(12); -+ } -+ if (encoding > 0) { -+ nextLine2D = !lookBits(1); -+ eatBits(1); -+ } -+} -+ -+inline void CCITTFaxStream::addPixels(int a1, int blackPixels) { -+ if (a1 > codingLine[a0i]) { -+ if (a1 > columns) { -+ error(getPos(), "CCITTFax row is wrong length (%d)", a1); -+ err = gTrue; -+ a1 = columns; -+ } -+ if ((a0i & 1) ^ blackPixels) { -+ ++a0i; -+ } -+ codingLine[a0i] = a1; -+ } -+} -+ -+inline void CCITTFaxStream::addPixelsNeg(int a1, int blackPixels) { -+ if (a1 > codingLine[a0i]) { -+ if (a1 > columns) { -+ error(getPos(), "CCITTFax row is wrong length (%d)", a1); -+ err = gTrue; -+ a1 = columns; -+ } -+ if ((a0i & 1) ^ blackPixels) { -+ ++a0i; -+ } -+ codingLine[a0i] = a1; -+ } else if (a1 < codingLine[a0i]) { -+ if (a1 < 0) { -+ error(getPos(), "Invalid CCITTFax code"); -+ err = gTrue; -+ a1 = 0; -+ } -+ while (a0i > 0 && a1 <= codingLine[a0i - 1]) { -+ --a0i; -+ } -+ codingLine[a0i] = a1; -+ } -+} -+ -+int CCITTFaxStream::lookChar() { -+ short code1, code2, code3; -+ int b1i, blackPixels, i, bits; -+ GBool gotEOL; -+ -+ if (buf != EOF) { -+ return buf; -+ } -+ -+ // read the next row -+ if (outputBits == 0) { -+ -+ // if at eof just return EOF -+ if (eof) { -+ return EOF; -+ } -+ -+ err = gFalse; -+ -+ // 2-D encoding -+ if (nextLine2D) { -+ for (i = 0; codingLine[i] < columns; ++i) { -+ refLine[i] = codingLine[i]; -+ } -+ refLine[i++] = columns; -+ refLine[i] = columns; -+ codingLine[0] = 0; -+ a0i = 0; -+ b1i = 0; -+ blackPixels = 0; -+ // invariant: -+ // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1] -+ // <= columns -+ // exception at left edge: -+ // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible -+ // exception at right edge: -+ // refLine[b1i] = refLine[b1i+1] = columns is possible -+ while (codingLine[a0i] < columns) { -+ code1 = getTwoDimCode(); -+ switch (code1) { -+ case twoDimPass: -+ addPixels(refLine[b1i + 1], blackPixels); -+ if (refLine[b1i + 1] < columns) { -+ b1i += 2; -+ } -+ break; -+ case twoDimHoriz: -+ code1 = code2 = 0; -+ if (blackPixels) { -+ do { -+ code1 += code3 = getBlackCode(); -+ } while (code3 >= 64); -+ do { -+ code2 += code3 = getWhiteCode(); -+ } while (code3 >= 64); -+ } else { -+ do { -+ code1 += code3 = getWhiteCode(); -+ } while (code3 >= 64); -+ do { -+ code2 += code3 = getBlackCode(); -+ } while (code3 >= 64); -+ } -+ addPixels(codingLine[a0i] + code1, blackPixels); -+ if (codingLine[a0i] < columns) { -+ addPixels(codingLine[a0i] + code2, blackPixels ^ 1); -+ } -+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { -+ b1i += 2; -+ } -+ break; -+ case twoDimVertR3: -+ addPixels(refLine[b1i] + 3, blackPixels); -+ blackPixels ^= 1; -+ if (codingLine[a0i] < columns) { -+ ++b1i; -+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { -+ b1i += 2; -+ } -+ } -+ break; -+ case twoDimVertR2: -+ addPixels(refLine[b1i] + 2, blackPixels); -+ blackPixels ^= 1; -+ if (codingLine[a0i] < columns) { -+ ++b1i; -+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { -+ b1i += 2; -+ } -+ } -+ break; -+ case twoDimVertR1: -+ addPixels(refLine[b1i] + 1, blackPixels); -+ blackPixels ^= 1; -+ if (codingLine[a0i] < columns) { -+ ++b1i; -+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { -+ b1i += 2; -+ } -+ } -+ break; -+ case twoDimVert0: -+ addPixels(refLine[b1i], blackPixels); -+ blackPixels ^= 1; -+ if (codingLine[a0i] < columns) { -+ ++b1i; -+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { -+ b1i += 2; -+ } -+ } -+ break; -+ case twoDimVertL3: -+ addPixelsNeg(refLine[b1i] - 3, blackPixels); -+ blackPixels ^= 1; -+ if (codingLine[a0i] < columns) { -+ if (b1i > 0) { -+ --b1i; -+ } else { -+ ++b1i; -+ } -+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { -+ b1i += 2; -+ } -+ } -+ break; -+ case twoDimVertL2: -+ addPixelsNeg(refLine[b1i] - 2, blackPixels); -+ blackPixels ^= 1; -+ if (codingLine[a0i] < columns) { -+ if (b1i > 0) { -+ --b1i; -+ } else { -+ ++b1i; -+ } -+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { -+ b1i += 2; -+ } -+ } -+ break; -+ case twoDimVertL1: -+ addPixelsNeg(refLine[b1i] - 1, blackPixels); -+ blackPixels ^= 1; -+ if (codingLine[a0i] < columns) { -+ if (b1i > 0) { -+ --b1i; -+ } else { -+ ++b1i; -+ } -+ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) { -+ b1i += 2; -+ } -+ } -+ break; -+ case EOF: -+ addPixels(columns, 0); -+ eof = gTrue; -+ break; -+ default: -+ error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1); -+ addPixels(columns, 0); -+ err = gTrue; -+ break; -+ } -+ } -+ -+ // 1-D encoding -+ } else { -+ codingLine[0] = 0; -+ a0i = 0; -+ blackPixels = 0; -+ while (codingLine[a0i] < columns) { -+ code1 = 0; -+ if (blackPixels) { -+ do { -+ code1 += code3 = getBlackCode(); -+ } while (code3 >= 64); -+ } else { -+ do { -+ code1 += code3 = getWhiteCode(); -+ } while (code3 >= 64); -+ } -+ addPixels(codingLine[a0i] + code1, blackPixels); -+ blackPixels ^= 1; -+ } -+ } -+ -+ // byte-align the row -+ if (byteAlign) { -+ inputBits &= ~7; -+ } -+ -+ // check for end-of-line marker, skipping over any extra zero bits -+ gotEOL = gFalse; -+ if (!endOfBlock && row == rows - 1) { -+ eof = gTrue; -+ } else { -+ code1 = lookBits(12); -+ while (code1 == 0) { -+ eatBits(1); -+ code1 = lookBits(12); -+ } -+ if (code1 == 0x001) { -+ eatBits(12); -+ gotEOL = gTrue; -+ } else if (code1 == EOF) { -+ eof = gTrue; -+ } -+ } -+ -+ // get 2D encoding tag -+ if (!eof && encoding > 0) { -+ nextLine2D = !lookBits(1); -+ eatBits(1); -+ } -+ -+ // check for end-of-block marker -+ if (endOfBlock && gotEOL) { -+ code1 = lookBits(12); -+ if (code1 == 0x001) { -+ eatBits(12); -+ if (encoding > 0) { -+ lookBits(1); -+ eatBits(1); -+ } -+ if (encoding >= 0) { -+ for (i = 0; i < 4; ++i) { -+ code1 = lookBits(12); -+ if (code1 != 0x001) { -+ error(getPos(), "Bad RTC code in CCITTFax stream"); -+ } -+ eatBits(12); -+ if (encoding > 0) { -+ lookBits(1); -+ eatBits(1); -+ } -+ } -+ } -+ eof = gTrue; -+ } -+ -+ // look for an end-of-line marker after an error -- we only do -+ // this if we know the stream contains end-of-line markers because -+ // the "just plow on" technique tends to work better otherwise -+ } else if (err && endOfLine) { -+ while (1) { -+ code1 = lookBits(13); -+ if (code1 == EOF) { -+ eof = gTrue; -+ return EOF; -+ } -+ if ((code1 >> 1) == 0x001) { -+ break; -+ } -+ eatBits(1); -+ } -+ eatBits(12); -+ if (encoding > 0) { -+ eatBits(1); -+ nextLine2D = !(code1 & 1); -+ } -+ } -+ -+ // set up for output -+ if (codingLine[0] > 0) { -+ outputBits = codingLine[a0i = 0]; -+ } else { -+ outputBits = codingLine[a0i = 1]; -+ } -+ -+ ++row; -+ } -+ -+ // get a byte -+ if (outputBits >= 8) { -+ buf = (a0i & 1) ? 0x00 : 0xff; -+ outputBits -= 8; -+ if (outputBits == 0 && codingLine[a0i] < columns) { -+ ++a0i; -+ outputBits = codingLine[a0i] - codingLine[a0i - 1]; -+ } -+ } else { -+ bits = 8; -+ buf = 0; -+ do { -+ if (outputBits > bits) { -+ buf <<= bits; -+ if (!(a0i & 1)) { -+ buf |= 0xff >> (8 - bits); -+ } -+ outputBits -= bits; -+ bits = 0; -+ } else { -+ buf <<= outputBits; -+ if (!(a0i & 1)) { -+ buf |= 0xff >> (8 - outputBits); -+ } -+ bits -= outputBits; -+ outputBits = 0; -+ if (codingLine[a0i] < columns) { -+ ++a0i; -+ outputBits = codingLine[a0i] - codingLine[a0i - 1]; -+ } else if (bits > 0) { -+ buf <<= bits; -+ bits = 0; -+ } -+ } -+ } while (bits); -+ } -+ if (black) { -+ buf ^= 0xff; -+ } -+ return buf; -+} -+ -+short CCITTFaxStream::getTwoDimCode() { -+ short code; -+ CCITTCode *p; -+ int n; -+ -+ code = 0; // make gcc happy -+ if (endOfBlock) { -+ code = lookBits(7); -+ p = &twoDimTab1[code]; -+ if (p->bits > 0) { -+ eatBits(p->bits); -+ return p->n; -+ } -+ } else { -+ for (n = 1; n <= 7; ++n) { -+ code = lookBits(n); -+ if (n < 7) { -+ code <<= 7 - n; -+ } -+ p = &twoDimTab1[code]; -+ if (p->bits == n) { -+ eatBits(n); -+ return p->n; -+ } -+ } -+ } -+ error(getPos(), "Bad two dim code (%04x) in CCITTFax stream", code); -+ return EOF; -+} -+ -+short CCITTFaxStream::getWhiteCode() { -+ short code; -+ CCITTCode *p; -+ int n; -+ -+ code = 0; // make gcc happy -+ if (endOfBlock) { -+ code = lookBits(12); -+ if (code == EOF) { -+ return 1; -+ } -+ if ((code >> 5) == 0) { -+ p = &whiteTab1[code]; -+ } else { -+ p = &whiteTab2[code >> 3]; -+ } -+ if (p->bits > 0) { -+ eatBits(p->bits); -+ return p->n; -+ } -+ } else { -+ for (n = 1; n <= 9; ++n) { -+ code = lookBits(n); -+ if (code == EOF) { -+ return 1; -+ } -+ if (n < 9) { -+ code <<= 9 - n; -+ } -+ p = &whiteTab2[code]; -+ if (p->bits == n) { -+ eatBits(n); -+ return p->n; -+ } -+ } -+ for (n = 11; n <= 12; ++n) { -+ code = lookBits(n); -+ if (code == EOF) { -+ return 1; -+ } -+ if (n < 12) { -+ code <<= 12 - n; -+ } -+ p = &whiteTab1[code]; -+ if (p->bits == n) { -+ eatBits(n); -+ return p->n; -+ } -+ } -+ } -+ error(getPos(), "Bad white code (%04x) in CCITTFax stream", code); -+ // eat a bit and return a positive number so that the caller doesn't -+ // go into an infinite loop -+ eatBits(1); -+ return 1; -+} -+ -+short CCITTFaxStream::getBlackCode() { -+ short code; -+ CCITTCode *p; -+ int n; -+ -+ code = 0; // make gcc happy -+ if (endOfBlock) { -+ code = lookBits(13); -+ if (code == EOF) { -+ return 1; -+ } -+ if ((code >> 7) == 0) { -+ p = &blackTab1[code]; -+ } else if ((code >> 9) == 0 && (code >> 7) != 0) { -+ p = &blackTab2[(code >> 1) - 64]; -+ } else { -+ p = &blackTab3[code >> 7]; -+ } -+ if (p->bits > 0) { -+ eatBits(p->bits); -+ return p->n; -+ } -+ } else { -+ for (n = 2; n <= 6; ++n) { -+ code = lookBits(n); -+ if (code == EOF) { -+ return 1; -+ } -+ if (n < 6) { -+ code <<= 6 - n; -+ } -+ p = &blackTab3[code]; -+ if (p->bits == n) { -+ eatBits(n); -+ return p->n; -+ } -+ } -+ for (n = 7; n <= 12; ++n) { -+ code = lookBits(n); -+ if (code == EOF) { -+ return 1; -+ } -+ if (n < 12) { -+ code <<= 12 - n; -+ } -+ if (code >= 64) { -+ p = &blackTab2[code - 64]; -+ if (p->bits == n) { -+ eatBits(n); -+ return p->n; -+ } -+ } -+ } -+ for (n = 10; n <= 13; ++n) { -+ code = lookBits(n); -+ if (code == EOF) { -+ return 1; -+ } -+ if (n < 13) { -+ code <<= 13 - n; -+ } -+ p = &blackTab1[code]; -+ if (p->bits == n) { -+ eatBits(n); -+ return p->n; -+ } -+ } -+ } -+ error(getPos(), "Bad black code (%04x) in CCITTFax stream", code); -+ // eat a bit and return a positive number so that the caller doesn't -+ // go into an infinite loop -+ eatBits(1); -+ return 1; -+} -+ -+short CCITTFaxStream::lookBits(int n) { -+ int c; -+ -+ while (inputBits < n) { -+ if ((c = str->getChar()) == EOF) { -+ if (inputBits == 0) { -+ return EOF; -+ } -+ // near the end of the stream, the caller may ask for more bits -+ // than are available, but there may still be a valid code in -+ // however many bits are available -- we need to return correct -+ // data in this case -+ return (inputBuf << (n - inputBits)) & (0xffff >> (16 - n)); -+ } -+ inputBuf = (inputBuf << 8) + c; -+ inputBits += 8; -+ } -+ return (inputBuf >> (inputBits - n)) & (0xffff >> (16 - n)); -+} -+ -+#endif - - GString *CCITTFaxStream::getPSFilter(const char *indent) { - GString *s; -@@ -1929,6 +2533,12 @@ - // allocate a buffer for the whole image - bufWidth = ((width + mcuWidth - 1) / mcuWidth) * mcuWidth; - bufHeight = ((height + mcuHeight - 1) / mcuHeight) * mcuHeight; -+ if (bufWidth <= 0 || bufHeight <= 0 || -+ bufWidth > INT_MAX / bufWidth / (int)sizeof(int)) { -+ error(getPos(), "Invalid image size in DCT stream"); -+ y = height; -+ return; -+ } - for (i = 0; i < numComps; ++i) { - frameBuf[i] = (int *)gmalloc(bufWidth * bufHeight * sizeof(int)); - memset(frameBuf[i], 0, bufWidth * bufHeight * sizeof(int)); -@@ -2975,6 +3585,11 @@ - } - scanInfo.firstCoeff = str->getChar(); - scanInfo.lastCoeff = str->getChar(); -+ if (scanInfo.firstCoeff < 0 || scanInfo.lastCoeff > 63 || -+ scanInfo.firstCoeff > scanInfo.lastCoeff) { -+ error(getPos(), "Bad DCT coefficient numbers in scan info block"); -+ return gFalse; -+ } - c = str->getChar(); - scanInfo.ah = (c >> 4) & 0x0f; - scanInfo.al = c & 0x0f; ---- filters/kword/pdf/xpdf/xpdf/Stream.h -+++ filters/kword/pdf/xpdf/xpdf/Stream.h -@@ -513,13 +513,17 @@ - int row; // current row - int inputBuf; // input buffer - int inputBits; // number of bits in input buffer -- short *refLine; // reference line changing elements -- int b1; // index into refLine -- short *codingLine; // coding line changing elements -- int a0; // index into codingLine -+ int *codingLine; // coding line changing elements -+ int *refLine; // reference line changing elements -+ int a0i; // index into codingLine -+ GBool err; // error on current line -+ - int outputBits; // remaining output bits - int buf; // character buffer - -+ void addPixels(int a1, int black); -+ void addPixelsNeg(int a1, int black); -+ - short getTwoDimCode(); - short getWhiteCode(); - short getBlackCode(); diff --git a/editors/calligra/files/patch-koffice-xpdf-CVE-2007-3387.diff b/editors/calligra/files/patch-koffice-xpdf-CVE-2007-3387.diff deleted file mode 100644 index ded0e07205a7..000000000000 --- a/editors/calligra/files/patch-koffice-xpdf-CVE-2007-3387.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- filters/kword/pdf/xpdf/xpdf/Stream.cc -+++ filters/kword/pdf/xpdf/xpdf/Stream.cc -@@ -413,13 +413,11 @@ StreamPredictor::StreamPredictor(Stream - predLine = NULL; - ok = gFalse; - -- if (width <= 0 || nComps <= 0 || nBits <= 0 || -- nComps >= INT_MAX / nBits || -- width >= INT_MAX / nComps / nBits) -- return; -- - nVals = width * nComps; -- if (nVals * nBits + 7 <= 0) -+ if (width <= 0 || nComps <= 0 || nBits <= 0 || -+ nComps >= 4 || nBits > 16 || -+ width >= INT_MAX / nComps || -+ nVals >= (INT_MAX - 7) / nBits) - return; - - pixBytes = (nComps * nBits + 7) >> 3; diff --git a/editors/calligra/files/patch-krita_core_tiles-kis-tilemanager.cc b/editors/calligra/files/patch-krita_core_tiles-kis-tilemanager.cc deleted file mode 100644 index 05286a6e7915..000000000000 --- a/editors/calligra/files/patch-krita_core_tiles-kis-tilemanager.cc +++ /dev/null @@ -1,12 +0,0 @@ ---- krita/core/tiles/kis_tilemanager.cc.orig Sat Apr 8 04:58:21 2006 -+++ krita/core/tiles/kis_tilemanager.cc Sat Apr 8 04:58:41 2006 -@@ -18,8 +18,8 @@ - - #include <kdebug.h> - --#include <sys/mman.h> - #include <sys/types.h> -+#include <sys/mman.h> - #include <sys/stat.h> - #include <unistd.h> - #include <string.h> diff --git a/editors/calligra/files/patch-krita_plugins_formats_CMakeLists.txt b/editors/calligra/files/patch-krita_plugins_formats_CMakeLists.txt new file mode 100644 index 000000000000..41f1da6a2f68 --- /dev/null +++ b/editors/calligra/files/patch-krita_plugins_formats_CMakeLists.txt @@ -0,0 +1,30 @@ +--- ./krita/plugins/formats/CMakeLists.txt.orig 2009-08-24 01:58:24.000000000 +1100 ++++ ./krita/plugins/formats/CMakeLists.txt 2009-09-04 23:56:05.000000000 +1100 +@@ -15,9 +15,6 @@ + macro_optional_find_package(Poppler) + macro_log_feature( POPPLER_FOUND "poppler-qt4" "The Poppler Qt4 interface library" "http://poppler.freedesktop.org" FALSE "" "Required by the Krita PDF filter (version 0.6.x is currently required)") + +-macro_optional_find_package(Kdcraw) +-macro_log_feature( KDCRAW_FOUND "kdcraw" "The KDCraw library" "http://www.digikam.org/" FALSE "" "Required by the Krita RAW filter") +- + macro_optional_find_package(GraphicsMagick) + set(BAD_GRAPHICS_MAGICK_VERSION 1.2.5) + set(BUILD_GRAPHICSMAGICK FALSE) +@@ -30,6 +27,17 @@ + + macro_log_feature(HAVE_REQUIRED_GM_VERSION "GraphicsMagick" "GraphicsMagick Image Processing System" "http://www.graphicsmagick.org" FALSE "1.1" "Required by the Krita GraphicsMagick filter for various file formats (including PSD, XCF). Version 1.2 is broken!") + ++# Check for Kdcraw ++PKG_CHECK_MODULES(LIBKDCRAW libkdcraw-kde4>=0.4.0) ++FIND_PATH(KDCRAW_INCLUDE_DIR NAMES libkdcraw/version.h ++ PATHS ${LIBKDCRAW_INCLUDE_DIRS} ${KDE4_INCLUDE_DIR} NO_DEFAULT_PATH) ++FIND_LIBRARY(KDCRAW_LIBRARY NAMES kdcraw ++ PATHS ${LIBKDCRAW_LIBRARY_DIRS} ${KDE4_LIB_DIR} NO_DEFAULT_PATH) ++ ++INCLUDE(FindPackageHandleStandardArgs) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(KDCRAW DEFAULT_MSG KDCRAW_LIBRARY KDCRAW_INCLUDE_DIR) ++macro_log_feature( KDCRAW_FOUND "kdcraw" "The KDCraw library" "http://www.digikam.org/" FALSE "" "Required by the Krita RAW filter") ++ + include_directories(${KRITA_INCLUDES}) + + if(KDCRAW_FOUND) diff --git a/editors/calligra/files/patch-kword-KWFrame.cpp b/editors/calligra/files/patch-kword-KWFrame.cpp deleted file mode 100644 index e8d8faccd72c..000000000000 --- a/editors/calligra/files/patch-kword-KWFrame.cpp +++ /dev/null @@ -1,12 +0,0 @@ ---- kword/KWFrame.cpp.orig Thu Mar 23 20:59:46 2006 -+++ kword/KWFrame.cpp Sat Apr 8 13:25:08 2006 -@@ -671,7 +671,8 @@ - // This attribute isn't part of the OASIS spec. Doesn't matter since it doesn't affect rendering - // of existing documents, only editing (and only KWord has this kind of option until now). - NewFrameBehavior defaultNfb = frameSet()->isHeaderOrFooter() ? Copy : NoFollowup; -- if ( m_newFrameBehavior != defaultNfb ) { -+ NewFrameBehavior temp_newFrameBehavior = m_newFrameBehavior; -+ if ( temp_newFrameBehavior != defaultNfb ) { - const char* value = "none"; - if ( m_newFrameBehavior == Reconnect ) - value = "followup"; |