Changeset 271


Ignore:
Timestamp:
Apr 12, 2009, 11:57:25 AM (13 years ago)
Author:
Eugene Romanenko
Message:

PDF plugin: Poppler library updated to version 0.10.5

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Lucide/SOURCE/gui/makefile

    r268 r271  
    11.autodepend
    22
    3 TEST=1
     3TEST=0
    44VERSION=1.22
    55
  • trunk/Lucide/SOURCE/plugins/lupoppler/lupoppler.cpp

    r264 r271  
    103103extern "C" char * EXPENTRY getDescription()
    104104{
    105     return "PDF plugin, based on poppler library v0.10.4";
     105    return "PDF plugin, based on poppler library v0.10.5";
    106106}
    107107
  • trunk/Lucide/changelog

    r264 r271  
     11.2x
     2  - PDF plugin: Poppler (pdf rendering) library updated to version 0.10.5.
     3  - PDF plugin: freetype library updated to version 2.3.9.
     4
    151.21:
    26  - PDF plugin: Poppler (pdf rendering) library updated to version 0.10.4.
  • trunk/poppler/mypoppler/poppler/CairoOutputDev.cc

    r261 r271  
    237237
    238238  cairo_transform (cairo, &matrix);
    239   if (shape)
     239  if (cairo_shape)
    240240      cairo_transform (cairo_shape, &matrix);
    241241
  • trunk/poppler/mypoppler/poppler/DCTStream.cc

    r257 r271  
    77// Copyright 2005 Jeff Muizelaar <jeff@infidigm.net>
    88// Copyright 2005-2008 Albert Astals Cid <aacid@kde.org>
     9// Copyright 2009 Ryszard Trojnacki <rysiek@menel.com>
    910//
    1011//========================================================================
     
    7576void DCTStream::init()
    7677{
    77   jpeg_create_decompress(&cinfo);
     78  jpeg_std_error(&jerr);
     79  jerr.error_exit = &exitErrorHandler;
    7880  src.pub.init_source = str_init_source;
    7981  src.pub.fill_input_buffer = str_fill_input_buffer;
     
    8688  src.index = 0;
    8789  src.abort = false;
     90 
     91  cinfo.err = &jerr;
     92  jpeg_create_decompress(&cinfo);
    8893  cinfo.src = (jpeg_source_mgr *)&src;
    89   jpeg_std_error(&jerr);
    90   jerr.error_exit = &exitErrorHandler;
    91   cinfo.err = &jerr;
    9294  x = 0;
    9395  row_buffer = NULL;
  • trunk/poppler/mypoppler/poppler/FileSpec.cc

    r257 r271  
    7676#endif
    7777      obj1.free();
    78       fileSpec->dictLookup("F", &obj1);
    79     }
    80    
    81     if (obj1.isString()) {
    82        name = obj1.getString()->copy();
    83     } else {
    84       error(-1, "Illegal file spec in link");
     78      if (fileSpec->dictLookup("UF", &obj1)->isString ()) {
     79        name = obj1.getString()->copy();
     80      } else if (fileSpec->dictLookup("F", &obj1)->isString ()) {
     81        name = obj1.getString()->copy();
     82      } else {
     83        error(-1, "Illegal file spec in link");
     84      }
    8585    }
    8686    obj1.free();
  • trunk/poppler/mypoppler/poppler/Gfx.cc

    r261 r271  
    1515//
    1616// Copyright (C) 2005 Jonathan Blandford <jrb@redhat.com>
    17 // Copyright (C) 2005-2008 Albert Astals Cid <aacid@kde.org>
     17// Copyright (C) 2005-2009 Albert Astals Cid <aacid@kde.org>
    1818// Copyright (C) 2006 Thorkild Stray <thorkild@ifi.uio.no>
    1919// Copyright (C) 2006 Kristian HÞgsberg <krh@redhat.com>
     
    35043504    // No OC entry - so we proceed as normal
    35053505  } else if (obj2.isRef()) {
    3506     if ( ! catalog->getOptContentConfig()->optContentIsVisible( &obj2 ) ) {
     3506    if ( catalog->getOptContentConfig() && ! catalog->getOptContentConfig()->optContentIsVisible( &obj2 ) ) {
    35073507      obj2.free();
    35083508      obj1.free();
  • trunk/poppler/mypoppler/poppler/GfxFont.cc

    r257 r271  
    1111// Modified under the Poppler project - http://poppler.freedesktop.org
    1212//
    13 // Copyright (C) 2005, 2006, 2008 Albert Astals Cid <aacid@kde.org>
     13// Copyright (C) 2005, 2006, 2008, 2009 Albert Astals Cid <aacid@kde.org>
    1414// Copyright (C) 2005, 2006 Kristian HÞgsberg <krh@redhat.com>
    1515// Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
     
    14461446
    14471447  // CIDToGIDMap (for embedded TrueType fonts)
    1448   if (type == fontCIDType2) {
     1448  if (type == fontCIDType2 || type == fontCIDType2OT) {
    14491449    desFontDict->lookup("CIDToGIDMap", &obj1);
    14501450    if (obj1.isStream()) {
  • trunk/poppler/mypoppler/poppler/JBIG2Stream.cc

    r264 r271  
    685685  Guchar *getDataPtr() { return data; }
    686686  int getDataSize() { return h * line; }
     687  GBool isOk() { return data != NULL; }
    687688
    688689private:
     
    20752076  gfree(syms);
    20762077
    2077   // combine the region bitmap into the page bitmap
    2078   if (imm) {
    2079     if (pageH == 0xffffffff && y + h > curPageH) {
    2080       pageBitmap->expand(y + h, pageDefPixel);
    2081     }
    2082     pageBitmap->combine(bitmap, x, y, extCombOp);
    2083     delete bitmap;
    2084 
    2085   // store the region bitmap
    2086   } else {
    2087     bitmap->setSegNum(segNum);
    2088     segments->append(bitmap);
     2078  if (bitmap) {
     2079    // combine the region bitmap into the page bitmap
     2080    if (imm) {
     2081      if (pageH == 0xffffffff && y + h > curPageH) {
     2082        pageBitmap->expand(y + h, pageDefPixel);
     2083      }
     2084      pageBitmap->combine(bitmap, x, y, extCombOp);
     2085      delete bitmap;
     2086
     2087    // store the region bitmap
     2088    } else {
     2089      bitmap->setSegNum(segNum);
     2090      segments->append(bitmap);
     2091    }
    20892092  }
    20902093
     
    22082211        }
    22092212        if (ri) {
     2213          GBool decodeSuccess;
    22102214          if (huff) {
    2211             huffDecoder->decodeInt(&rdw, huffRDWTable);
    2212             huffDecoder->decodeInt(&rdh, huffRDHTable);
    2213             huffDecoder->decodeInt(&rdx, huffRDXTable);
    2214             huffDecoder->decodeInt(&rdy, huffRDYTable);
    2215             huffDecoder->decodeInt(&bmSize, huffRSizeTable);
     2215            decodeSuccess = huffDecoder->decodeInt(&rdw, huffRDWTable);
     2216            decodeSuccess = decodeSuccess && huffDecoder->decodeInt(&rdh, huffRDHTable);
     2217            decodeSuccess = decodeSuccess && huffDecoder->decodeInt(&rdx, huffRDXTable);
     2218            decodeSuccess = decodeSuccess && huffDecoder->decodeInt(&rdy, huffRDYTable);
     2219            decodeSuccess = decodeSuccess && huffDecoder->decodeInt(&bmSize, huffRSizeTable);
    22162220            huffDecoder->reset();
    22172221            arithDecoder->start();
    22182222          } else {
    2219             arithDecoder->decodeInt(&rdw, iardwStats);
    2220             arithDecoder->decodeInt(&rdh, iardhStats);
    2221             arithDecoder->decodeInt(&rdx, iardxStats);
    2222             arithDecoder->decodeInt(&rdy, iardyStats);
     2223            decodeSuccess = arithDecoder->decodeInt(&rdw, iardwStats);
     2224            decodeSuccess = decodeSuccess && arithDecoder->decodeInt(&rdh, iardhStats);
     2225            decodeSuccess = decodeSuccess && arithDecoder->decodeInt(&rdx, iardxStats);
     2226            decodeSuccess = decodeSuccess && arithDecoder->decodeInt(&rdy, iardyStats);
    22232227          }
    2224           refDX = ((rdw >= 0) ? rdw : rdw - 1) / 2 + rdx;
    2225           refDY = ((rdh >= 0) ? rdh : rdh - 1) / 2 + rdy;
    2226 
    2227           symbolBitmap =
    2228             readGenericRefinementRegion(rdw + syms[symID]->getWidth(),
    2229                                         rdh + syms[symID]->getHeight(),
    2230                                         templ, gFalse, syms[symID],
    2231                                         refDX, refDY, atx, aty);
     2228         
     2229          if (decodeSuccess)
     2230          {
     2231            refDX = ((rdw >= 0) ? rdw : rdw - 1) / 2 + rdx;
     2232            refDY = ((rdh >= 0) ? rdh : rdh - 1) / 2 + rdy;
     2233
     2234            symbolBitmap =
     2235              readGenericRefinementRegion(rdw + syms[symID]->getWidth(),
     2236                                          rdh + syms[symID]->getHeight(),
     2237                                          templ, gFalse, syms[symID],
     2238                                          refDX, refDY, atx, aty);
     2239          }
    22322240          //~ do we need to use the bmSize value here (in Huffman mode)?
    22332241        } else {
     
    22352243        }
    22362244
    2237         // combine the symbol bitmap into the region bitmap
    2238         //~ something is wrong here - refCorner shouldn't degenerate into
    2239         //~   two cases
    2240         bw = symbolBitmap->getWidth() - 1;
    2241         bh = symbolBitmap->getHeight() - 1;
    2242         if (transposed) {
    2243           switch (refCorner) {
    2244           case 0: // bottom left
    2245             bitmap->combine(symbolBitmap, tt, s, combOp);
    2246             break;
    2247           case 1: // top left
    2248             bitmap->combine(symbolBitmap, tt, s, combOp);
    2249             break;
    2250           case 2: // bottom right
    2251             bitmap->combine(symbolBitmap, tt - bw, s, combOp);
    2252             break;
    2253           case 3: // top right
    2254             bitmap->combine(symbolBitmap, tt - bw, s, combOp);
    2255             break;
     2245        if (symbolBitmap) {
     2246          // combine the symbol bitmap into the region bitmap
     2247          //~ something is wrong here - refCorner shouldn't degenerate into
     2248          //~   two cases
     2249          bw = symbolBitmap->getWidth() - 1;
     2250          bh = symbolBitmap->getHeight() - 1;
     2251          if (transposed) {
     2252            switch (refCorner) {
     2253            case 0: // bottom left
     2254              bitmap->combine(symbolBitmap, tt, s, combOp);
     2255              break;
     2256            case 1: // top left
     2257              bitmap->combine(symbolBitmap, tt, s, combOp);
     2258              break;
     2259            case 2: // bottom right
     2260              bitmap->combine(symbolBitmap, tt - bw, s, combOp);
     2261              break;
     2262            case 3: // top right
     2263              bitmap->combine(symbolBitmap, tt - bw, s, combOp);
     2264              break;
     2265            }
     2266            s += bh;
     2267          } else {
     2268            switch (refCorner) {
     2269            case 0: // bottom left
     2270              bitmap->combine(symbolBitmap, s, tt - bh, combOp);
     2271              break;
     2272            case 1: // top left
     2273              bitmap->combine(symbolBitmap, s, tt, combOp);
     2274              break;
     2275            case 2: // bottom right
     2276              bitmap->combine(symbolBitmap, s, tt - bh, combOp);
     2277              break;
     2278            case 3: // top right
     2279              bitmap->combine(symbolBitmap, s, tt, combOp);
     2280              break;
     2281            }
     2282            s += bw;
    22562283          }
    2257           s += bh;
     2284          if (ri) {
     2285            delete symbolBitmap;
     2286          }
    22582287        } else {
    2259           switch (refCorner) {
    2260           case 0: // bottom left
    2261             bitmap->combine(symbolBitmap, s, tt - bh, combOp);
    2262             break;
    2263           case 1: // top left
    2264             bitmap->combine(symbolBitmap, s, tt, combOp);
    2265             break;
    2266           case 2: // bottom right
    2267             bitmap->combine(symbolBitmap, s, tt - bh, combOp);
    2268             break;
    2269           case 3: // top right
    2270             bitmap->combine(symbolBitmap, s, tt, combOp);
    2271             break;
    2272           }
    2273           s += bw;
    2274         }
    2275         if (ri) {
    2276           delete symbolBitmap;
     2288          // NULL symbolBitmap only happens on error
     2289          delete bitmap;
     2290          return NULL;
    22772291        }
    22782292      }
     
    30533067
    30543068  bitmap = new JBIG2Bitmap(0, w, h);
     3069  if (!bitmap->isOk())
     3070  {
     3071    delete bitmap;
     3072    return NULL;
     3073  }
    30553074  bitmap->clearToZero();
    30563075
  • trunk/poppler/mypoppler/poppler/Outline.cc

    r263 r271  
    1616// Copyright (C) 2005 Marco Pesenti Gritti <mpg@redhat.com>
    1717// Copyright (C) 2008 Albert Astals Cid <aacid@kde.org>
     18// Copyright (C) 2009 Nick Jones <nick.jones@network-box.com>
    1819//
    1920// To see a description of the changes please see the Changelog file that
     
    3132#include "goo/GooString.h"
    3233#include "goo/GooList.h"
     34#include "XRef.h"
    3335#include "Link.h"
    3436#include "PDFDocEncoding.h"
     
    130132                                 XRef *xrefA) {
    131133  GooList *items;
     134  char* alreadyRead;
    132135  OutlineItem *item;
    133136  Object obj;
     
    138141
    139142  items = new GooList();
     143
     144  alreadyRead = (char *)gmalloc(xrefA->getNumObjects());
     145  memset(alreadyRead, 0, xrefA->getNumObjects());
     146
    140147  p = firstItemRef;
    141   while (p->isRef()) {
     148  while (p->isRef() &&
     149         (p->getRefNum() >= 0) &&
     150         (p->getRefNum() < xrefA->getNumObjects()) &&
     151         !alreadyRead[p->getRefNum()]) {
    142152    if (!p->fetch(xrefA, &obj)->isDict()) {
    143153      obj.free();
    144154      break;
    145155    }
     156    alreadyRead[p->getRefNum()] = 1;
    146157    item = new OutlineItem(obj.getDict(), xrefA);
    147158    obj.free();
     
    153164    p = &item->nextRef;
    154165  }
     166
     167  gfree(alreadyRead);
    155168
    156169  if (!items->getLength()) {
Note: See TracChangeset for help on using the changeset viewer.