[Pkg-kde-commits] rev 1598 - branches/kde-3.4.0/packages/kdegraphics/debian/patches

Isaac Clerencia isaac at costa.debian.org
Mon Aug 29 09:57:46 UTC 2005


Author: isaac
Date: 2005-08-29 09:57:45 +0000 (Mon, 29 Aug 2005)
New Revision: 1598

Added:
   branches/kde-3.4.0/packages/kdegraphics/debian/patches/01_kdegraphics_branch_r454549.diff
Log:
Branch pull for kdegraphics


Added: branches/kde-3.4.0/packages/kdegraphics/debian/patches/01_kdegraphics_branch_r454549.diff
===================================================================
--- branches/kde-3.4.0/packages/kdegraphics/debian/patches/01_kdegraphics_branch_r454549.diff	2005-08-29 08:31:33 UTC (rev 1597)
+++ branches/kde-3.4.0/packages/kdegraphics/debian/patches/01_kdegraphics_branch_r454549.diff	2005-08-29 09:57:45 UTC (rev 1598)
@@ -0,0 +1,1362 @@
+#DPATCHLEVEL=0
+--- kpdf/part.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/part.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -102,7 +102,7 @@
+ 	m_document = new KPDFDocument();
+ 	connect( m_document, SIGNAL( linkFind() ), this, SLOT( slotFind() ) );
+ 	connect( m_document, SIGNAL( linkGoToPage() ), this, SLOT( slotGoToPage() ) );
+-	connect( m_document, SIGNAL( openURL(const KURL &) ), this, SLOT( openURL(const KURL &) ) );
++	connect( m_document, SIGNAL( openURL(const KURL &) ), this, SLOT( openURLFromDocument(const KURL &) ) );
+ 
+ 	// widgets: ^searchbar (toolbar containing label and SearchWidget)
+ //	m_searchToolBar = new KToolBar( parentWidget, "searchBar" );
+@@ -140,7 +140,7 @@
+ 	m_searchWidget = new SearchWidget( thumbsBox, m_document );
+ 	m_thumbnailList = new ThumbnailList( thumbsBox, m_document );
+ //	ThumbnailController * m_tc = new ThumbnailController( thumbsBox, m_thumbnailList );
+-	connect( m_thumbnailList, SIGNAL( urlDropped( const KURL& ) ), SLOT( openURL( const KURL & )) );
++	connect( m_thumbnailList, SIGNAL( urlDropped( const KURL& ) ), SLOT( openURLFromDocument( const KURL & )) );
+ 	connect( m_thumbnailList, SIGNAL( rightClick(const KPDFPage *, const QPoint &) ), this, SLOT( slotShowMenu(const KPDFPage *, const QPoint &) ) );
+ 	// shrink the bottom controller toolbar (too hackish..)
+ 	thumbsBox->setStretchFactor( m_searchWidget, 100 );
+@@ -169,7 +169,7 @@
+ 	// widgets: [] | [right 'pageView']
+ 	m_pageView = new PageView( m_splitter, m_document );
+ 	m_pageView->setFocus(); //usability setting
+-	connect( m_pageView, SIGNAL( urlDropped( const KURL& ) ), SLOT( openURL( const KURL & )));
++	connect( m_pageView, SIGNAL( urlDropped( const KURL& ) ), SLOT( openURLFromDocument( const KURL & )));
+ 	connect( m_pageView, SIGNAL( rightClick(const KPDFPage *, const QPoint &) ), this, SLOT( slotShowMenu(const KPDFPage *, const QPoint &) ) );
+ 
+ 	// add document observers
+@@ -346,6 +346,13 @@
+     return true;
+ }
+ 
++void Part::openURLFromDocument(const KURL &url)
++{
++    m_bExtension->openURLNotify();
++    m_bExtension->setLocationBarURL(url.prettyURL());
++    openURL(url);
++}
++
+ bool Part::openURL(const KURL &url)
+ {
+     // note: this can be the right place to check the file for gz or bz2 extension
+@@ -354,8 +361,6 @@
+ 
+     // this calls the above 'openURL' method
+     bool b = KParts::ReadOnlyPart::openURL(url);
+-    m_bExtension->openURLNotify();
+-    m_bExtension->setLocationBarURL(url.prettyURL());
+     if ( !b )
+         KMessageBox::error( widget(), i18n("Could not open %1").arg( url.prettyURL() ) );
+     else
+--- kpdf/part.h	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/part.h	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -84,6 +84,7 @@
+ 	bool closeURL();
+ 
+ protected slots:
++	void openURLFromDocument(const KURL &url);
+ 	// connected to actions
+ 	void slotGoToPage();
+ 	void slotPreviousPage();
+--- kpdf/xpdf/xpdf/Stream.cc	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/xpdf/Stream.cc	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -33,7 +33,6 @@
+ #include "JPXStream.h"
+ #include "Stream-CCITT.h"
+ #include "DCTStream.h"
+-#include "FlateStream.h"
+ 
+ #ifdef __DJGPP__
+ static GBool setDJSYSFLAGS = gFalse;
+@@ -3179,6 +3178,7 @@
+ GBool DCTStream::isBinary(GBool /*last*/) {
+   return str->isBinary(gTrue);
+ }
++#endif
+ 
+ //------------------------------------------------------------------------
+ // FlateStream
+@@ -3710,7 +3710,6 @@
+   codeSize -= bits;
+   return c;
+ }
+-#endif
+ 
+ //------------------------------------------------------------------------
+ // EOFStream
+--- kpdf/xpdf/xpdf/Stream.h	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/xpdf/Stream.h	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -637,6 +637,7 @@
+   int readMarker();
+   int read16();
+ };
++#endif
+ 
+ //------------------------------------------------------------------------
+ // FlateStream
+@@ -712,7 +713,6 @@
+   int getHuffmanCodeWord(FlateHuffmanTab *tab);
+   int getCodeWord(int bits);
+ };
+-#endif
+ 
+ //------------------------------------------------------------------------
+ // EOFStream
+--- kpdf/xpdf/xpdf/DCTStream.cc	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/xpdf/DCTStream.cc	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -15,7 +15,15 @@
+ static boolean str_fill_input_buffer(j_decompress_ptr cinfo)
+ {
+   struct str_src_mgr * src = (struct str_src_mgr *)cinfo->src;
+-  src->buffer = src->str->getChar();
++  if (src->index == 0) {
++    src->buffer = 0xFF;
++    src->index++;
++  }
++  else if (src->index == 1) {
++    src->buffer = 0xD8;
++    src->index++;
++  }
++  else src->buffer = src->str->getChar();
+   src->pub.next_input_byte = &src->buffer;
+   src->pub.bytes_in_buffer = 1;
+   return TRUE;
+@@ -50,6 +58,7 @@
+   src.pub.bytes_in_buffer = 0;
+   src.pub.next_input_byte = NULL;
+   src.str = str;
++  src.index = 0;
+   cinfo.src = (jpeg_source_mgr *)&src;
+   cinfo.err = jpeg_std_error(&jerr);
+   x = 0;
+@@ -64,6 +73,40 @@
+   int row_stride;
+ 
+   str->reset();
++  
++  // JPEG data has to start with 0xFF 0xD8
++  // but some pdf like the one on 
++  // https://bugs.freedesktop.org/show_bug.cgi?id=3299
++  // does have some garbage before that this seeks for
++  // the start marker...
++  bool startFound = false;
++  int c = 0, c2 = 0;
++  int n = 0;
++  while (!startFound)
++  {
++    if (!c)
++    {
++      c = str->getChar();
++      if (c != 0xFF) c = 0;
++      if (c == -1)
++      {
++        error(-1, "Could not find start of jpeg data");
++        exit(1);
++      }
++    }
++    else
++    {
++      c2 = str->getChar();
++      if (c2 != 0xD8)
++      {
++        c = 0;
++        c2 = 0;
++      }
++      else startFound = true;
++    }
++    n++;
++  }
++
+   jpeg_read_header(&cinfo, TRUE);
+   jpeg_start_decompress(&cinfo);
+ 
+--- kpdf/xpdf/xpdf/PDFDoc.cc	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/xpdf/PDFDoc.cc	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -115,23 +115,34 @@
+ GBool PDFDoc::setup(GString *ownerPassword, GString *userPassword) {
+   str->reset();
+   
+-  char eof[8];
++  char *eof = new char[1025];
+   int pos = str->getPos();
+-  str->setPos(7, -1);
+-  eof[0] = str->getChar();
+-  eof[1] = str->getChar();
+-  eof[2] = str->getChar();
+-  eof[3] = str->getChar();
+-  eof[4] = str->getChar();
+-  eof[5] = str->getChar();
+-  eof[6] = str->getChar();
+-  eof[7] = '\0';
+-  if (strstr(eof, "%%EOF") == NULL)
++  str->setPos(1024, -1);
++  int i, ch;
++  for (i = 0; i < 1024; i++)
+   {
++    ch = str->getChar();
++    if (ch == EOF)
++      break;
++    eof[i] = ch;
++  }
++  eof[i] = '\0';
++  
++  bool found = false;
++  for (i = i - 5; i >= 0; i--) {
++    if (strncmp (&eof[i], "%%EOF", 5) == 0) {
++      found = true;
++      break;
++    }
++  }
++  if (!found)
++  {
+     error(-1, "Document does not have ending %%EOF");	      
+     errCode = errDamaged;
++    delete[] eof;
+     return gFalse;
+   }
++  delete[] eof;
+   
+   str->setPos(pos);
+   
+--- kpdf/xpdf/xpdf/JPXStream.cc	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/xpdf/JPXStream.cc	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -1995,7 +1995,7 @@
+ 		  horizSign += (coeff[-1].flags & jpxCoeffSign) ? -1 : 1;
+ 		}
+ 		if (y0+y1 > cb->y0) {
+-		  diag += (coeff[-tileComp->cbW - 1].flags
++		  diag += (coeff[-(int)tileComp->cbW - 1].flags
+ 			   >> jpxCoeffSignificantB) & 1;
+ 		}
+ 		if (y0+y1 < cb->y1 - 1) {
+@@ -2009,7 +2009,7 @@
+ 		  horizSign += (coeff[1].flags & jpxCoeffSign) ? -1 : 1;
+ 		}
+ 		if (y0+y1 > cb->y0) {
+-		  diag += (coeff[-tileComp->cbW + 1].flags
++		  diag += (coeff[-(int)tileComp->cbW + 1].flags
+ 			   >> jpxCoeffSignificantB) & 1;
+ 		}
+ 		if (y0+y1 < cb->y1 - 1) {
+@@ -2018,9 +2018,9 @@
+ 		}
+ 	      }
+ 	      if (y0+y1 > cb->y0) {
+-		if (coeff[-tileComp->cbW].flags & jpxCoeffSignificant) {
++		if (coeff[-(int)tileComp->cbW].flags & jpxCoeffSignificant) {
+ 		  ++vert;
+-		  vertSign += (coeff[-tileComp->cbW].flags & jpxCoeffSign)
++		  vertSign += (coeff[-(int)tileComp->cbW].flags & jpxCoeffSign)
+ 		              ? -1 : 1;
+ 		}
+ 	      }
+@@ -2070,7 +2070,7 @@
+ 		if (x > cb->x0) {
+ 		  all += (coeff[-1].flags >> jpxCoeffSignificantB) & 1;
+ 		  if (y0+y1 > cb->y0) {
+-		    all += (coeff[-tileComp->cbW - 1].flags
++		    all += (coeff[-(int)tileComp->cbW - 1].flags
+ 			    >> jpxCoeffSignificantB) & 1;
+ 		  }
+ 		  if (y0+y1 < cb->y1 - 1) {
+@@ -2081,7 +2081,7 @@
+ 		if (x < cb->x1 - 1) {
+ 		  all += (coeff[1].flags >> jpxCoeffSignificantB) & 1;
+ 		  if (y0+y1 > cb->y0) {
+-		    all += (coeff[-tileComp->cbW + 1].flags
++		    all += (coeff[-(int)tileComp->cbW + 1].flags
+ 			    >> jpxCoeffSignificantB) & 1;
+ 		  }
+ 		  if (y0+y1 < cb->y1 - 1) {
+@@ -2090,7 +2090,7 @@
+ 		  }
+ 		}
+ 		if (y0+y1 > cb->y0) {
+-		  all += (coeff[-tileComp->cbW].flags
++		  all += (coeff[-(int)tileComp->cbW].flags
+ 			  >> jpxCoeffSignificantB) & 1;
+ 		}
+ 		if (y0+y1 < cb->y1 - 1) {
+@@ -2128,12 +2128,12 @@
+ 	      !(coeff1[2 * tileComp->cbW].flags & jpxCoeffTouched) &&
+ 	      !(coeff1[3 * tileComp->cbW].flags & jpxCoeffTouched) &&
+ 	      (x == cb->x0 || y0 == cb->y0 ||
+-	       !(coeff1[-tileComp->cbW - 1].flags
++	       !(coeff1[-(int)tileComp->cbW - 1].flags
+ 		 & jpxCoeffSignificant)) &&
+ 	      (y0 == cb->y0 ||
+-	       !(coeff1[-tileComp->cbW].flags & jpxCoeffSignificant)) &&
++	       !(coeff1[-(int)tileComp->cbW].flags & jpxCoeffSignificant)) &&
+ 	      (x == cb->x1 - 1 || y0 == cb->y0 ||
+-	       !(coeff1[-tileComp->cbW + 1].flags & jpxCoeffSignificant)) &&
++	       !(coeff1[-(int)tileComp->cbW + 1].flags & jpxCoeffSignificant)) &&
+ 	      (x == cb->x0 ||
+ 	       (!(coeff1[-1].flags & jpxCoeffSignificant) &&
+ 		!(coeff1[tileComp->cbW - 1].flags
+@@ -2196,7 +2196,7 @@
+ 		  horizSign += (coeff[-1].flags & jpxCoeffSign) ? -1 : 1;
+ 		}
+ 		if (y0+y1 > cb->y0) {
+-		  diag += (coeff[-tileComp->cbW - 1].flags
++		  diag += (coeff[-(int)tileComp->cbW - 1].flags
+ 			   >> jpxCoeffSignificantB) & 1;
+ 		}
+ 		if (y0+y1 < cb->y1 - 1) {
+@@ -2210,7 +2210,7 @@
+ 		  horizSign += (coeff[1].flags & jpxCoeffSign) ? -1 : 1;
+ 		}
+ 		if (y0+y1 > cb->y0) {
+-		  diag += (coeff[-tileComp->cbW + 1].flags
++		  diag += (coeff[-(int)tileComp->cbW + 1].flags
+ 			   >> jpxCoeffSignificantB) & 1;
+ 		}
+ 		if (y0+y1 < cb->y1 - 1) {
+@@ -2219,9 +2219,9 @@
+ 		}
+ 	      }
+ 	      if (y0+y1 > cb->y0) {
+-		if (coeff[-tileComp->cbW].flags & jpxCoeffSignificant) {
++		if (coeff[-(int)tileComp->cbW].flags & jpxCoeffSignificant) {
+ 		  ++vert;
+-		  vertSign += (coeff[-tileComp->cbW].flags & jpxCoeffSign)
++		  vertSign += (coeff[-(int)tileComp->cbW].flags & jpxCoeffSign)
+ 		              ? -1 : 1;
+ 		}
+ 	      }
+--- kpdf/xpdf/xpdf/Makefile.am	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/xpdf/Makefile.am	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -4,7 +4,7 @@
+ libxpdf_la_LIBADD = $(LIB_X11) $(LIBFREETYPE_LIBS) $(LIBPAPER_LIBS) $(XFT_LIBS) $(LIBJPEG) ../goo/libgoo.la ../fofi/libfofi.la ../splash/libsplash.la 
+ libxpdf_la_SOURCES = Annot.cc Array.cc BuiltinFont.cc BuiltinFontTables.cc \
+      Catalog.cc CharCodeToUnicode.cc CMap.cc Decrypt.cc Dict.cc DCTStream.cc \
+-     FontEncodingTables.cc FlateStream.cc Function.cc Gfx.cc \
++     FontEncodingTables.cc Function.cc Gfx.cc \
+      GfxFont.cc GfxState.cc GlobalParams.cc JArithmeticDecoder.cc \
+      JBIG2Stream.cc Lexer.cc Link.cc NameToCharCode.cc Object.cc Outline.cc \
+      OutputDev.cc PDFDoc.cc PDFDocEncoding.cc PSTokenizer.cc \
+--- kpdf/xpdf/xpdf/DCTStream.h	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/xpdf/DCTStream.h	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -44,6 +44,7 @@
+     struct jpeg_source_mgr pub;
+     JOCTET buffer;
+     Stream *str;
++    int index;
+ };
+ 
+ 
+--- kpdf/xpdf/fofi/FoFiType1.cc	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/fofi/FoFiType1.cc	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -186,17 +186,13 @@
+ 	      }
+ 	    }
+ 	  }
+-	} else {
+-	  p = strtok(buf, " \t\n\r");
+-	  if (p)
+-	  {
+-	    if (!strcmp(p, "def")) break;
+-	    if (!strcmp(p, "readonly")) break;
+-	    // the spec does not says this but i'm mantaining old xpdf behaviour that accepts "foo def" as end of the encoding array
+-	    p = strtok(buf, " \t\n\r");
+-	    if (p && !strcmp(p, "def")) break;
+-	  }
+ 	}
++	
++	// Any line that begins with "def" or contains " def"
++	// terminates the encoding array.
++	if (!strcmp (p, "def") || strstr (buf, " def"))
++	  break;
++	
+ 	line = line1;
+       }
+       //~ check for getinterval/putinterval junk
+--- kpdf/xpdf/splash/Splash.cc	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/xpdf/splash/Splash.cc	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -240,6 +240,11 @@
+     return splashErrEmptyPath;
+   }
+   xPath = new SplashXPath(path, state->flatness, gFalse);
++  if (!xPath->segs)
++  {
++    delete xPath;
++    return splashErrEmptyPath;
++  }
+   if (state->lineDashLength > 0) {
+     xPath2 = makeDashedPath(xPath);
+     delete xPath;
+@@ -633,6 +638,11 @@
+   }
+   xPath = new SplashXPath(path, state->flatness, gTrue);
+   xPath->sort();
++  if (!&xPath->segs[0])
++  {
++    delete xPath;
++    return splashErrEmptyPath;
++  }
+   scanner = new SplashXPathScanner(xPath, eo);
+ 
+   // get the min and max x and y values
+--- kpdf/ui/minibar.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/ui/minibar.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -163,7 +163,6 @@
+     m_nextButton->setFixedHeight( fixedHeight );
+ 
+     // update child widgets
+-    m_pagesEdit->setText( "" );
+     m_pagesEdit->setPagesNumber( pages );
+     m_pagesButton->setText( QString::number( pages ) );
+     m_prevButton->setEnabled( false );
+--- kpdf/ui/toc.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpdf/ui/toc.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -121,7 +121,12 @@
+ 
+ void TOC::slotExecuted( QListViewItem *i )
+ {
+-    const QDomElement & e = static_cast< TOCItem* >( i )->element();
++    TOCItem* tocItem = dynamic_cast<TOCItem*>( i );
++    // that filters clicks on [+] that for a strange reason don't seem to be TOCItem*
++    if (tocItem == NULL)
++        return;
++    const QDomElement & e = tocItem->element();
++
+     QString externalFileName = e.attribute( "ExternalFileName" );
+     if ( !externalFileName.isEmpty() )
+     {
+--- kview/photobook/Makefile.am	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kview/photobook/Makefile.am	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -1,11 +1,11 @@
+ 
+ INCLUDES = $(all_includes)
+ 
+-lib_LTLIBRARIES = libphotobook.la
++kde_module_LTLIBRARIES = libphotobook.la
+ 
+ libphotobook_la_SOURCES = photobook.cpp
+ 
+-libphotobook_la_LDFLAGS = $(KDE_RPATH) $(all_libraries) -module -avoid-version -no-undefined
++libphotobook_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries)
+ libphotobook_la_LIBADD = $(LIB_KFILE) $(LIB_KPARTS)
+ 
+ partrcdir = $(kde_servicesdir)
+--- kview/photobook/photobook.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kview/photobook/photobook.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -67,6 +67,7 @@
+ Comment[el]=Εύκολη πλοήγηση σε ένα φάκελο με φωτογραφίες
+ Comment[es]=Vistazo rápido de una carpeta con fotografías
+ Comment[et]=Fotode kausta mugav lehitsemine
++Comment[eu]=Arakatu argazki karpetak modu errazan
+ Comment[fi]=Selaile helpolla valokuvakansioita
+ Comment[fr]=Naviguer facilement dans un dossier contenant des photos
+ Comment[he]=דפדף בקלות בתיקייה המכילה תמונות
+--- kview/config/kviewgeneralconfig.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kview/config/kviewgeneralconfig.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -27,6 +27,7 @@
+ Name[eo]=Aplikaĵo
+ Name[es]=Aplicación
+ Name[et]=Rakendus
++Name[eu]=Aplikazioa
+ Name[fi]=Sovellus
+ Name[ga]=Feidhmchlár
+ Name[gl]=Aplicación
+--- kview/config/plugins/kviewpluginsconfig.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kview/config/plugins/kviewpluginsconfig.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -64,6 +64,7 @@
+ Comment[el]=Επιλέξτε και Ρυθμίστε τα Πρόσθετα σας
+ Comment[es]=Seleccione y configure sus extensiones
+ Comment[et]=Pluginate valimine ja seadistamine
++Comment[eu]=Aukeratu eta konfigurau zure pluginak
+ Comment[fi]=Valitse ja muokkaa liitännäisten asetuksia
+ Comment[fr]=Choisissez et configurez vos modules externes
+ Comment[he]=בחר והגדר את התוספים שלך
+--- kview/config/kview.setdlg	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kview/config/kview.setdlg	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -97,6 +97,7 @@
+ Name[eo]=Aplikaĵo
+ Name[es]=Aplicación
+ Name[et]=Rakendus
++Name[eu]=Aplikazioa
+ Name[fi]=Sovellus
+ Name[ga]=Feidhmchlár
+ Name[gl]=Aplicación
+--- kview/kviewviewer/kviewviewer.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kview/kviewviewer/kviewviewer.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -15,6 +15,7 @@
+ Comment[eo]=KDE-bildorigardilo parto
+ Comment[es]=Parte de visor de imágenes de KDE
+ Comment[et]=KDE pildifailide vaataja komponent
++Comment[eu]=KDE irudi ikustailearen zatia
+ Comment[fi]=KDE:n kuvannäyttökomponentti
+ Comment[fr]=Composant d'affichage d'images de KDE
+ Comment[gl]=Visor de imaxes integrado do KDE
+@@ -63,6 +64,7 @@
+ Name[el]=Προβολέας εικόνων KView
+ Name[es]=Visor de imágenes de KView
+ Name[et]=KView pildifailide vaataja
++Name[eu]=KView irudi ikustailea
+ Name[fi]=KView-kuvannäytin
+ Name[fr]=Visualisateur d'images KView
+ Name[gl]=Visor de imaxes KView
+--- kview/kviewviewer/config/kviewviewerpluginsconfig.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kview/kviewviewer/config/kviewviewerpluginsconfig.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -64,6 +64,7 @@
+ Comment[el]=Επιλέξτε και Ρυθμίστε τα Πρόσθετα σας
+ Comment[es]=Seleccione y configure sus extensiones
+ Comment[et]=Pluginate valimine ja seadistamine
++Comment[eu]=Aukeratu eta konfigurau zure pluginak
+ Comment[fi]=Valitse ja muokkaa liitännäisten asetuksia
+ Comment[fr]=Choisissez et configurez vos modules externes
+ Comment[he]=בחר והגדר את התוספים שלך
+--- kview/modules/scale/kview_scale.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kview/modules/scale/kview_scale.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -3,6 +3,7 @@
+ Name[af]=Skaal
+ Name[ar]=تكبير أو تصغير
+ Name[bg]=Мащабиране
++Name[br]=Skeulaet
+ Name[bs]=Skaliraj
+ Name[ca]=Escala
+ Name[cs]=Změna měřítka
+--- libkscan/scanparams.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ libkscan/scanparams.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -468,8 +468,9 @@
+    setEditCustomGammaTableState();
+ 
+    /* This connection cares for enabling/disabling the edit-Button */
+-   connect( so,   SIGNAL(guiChange(KScanOption*)),
+-	    this, SLOT(slOptionNotify(KScanOption*)));
++   if(so )
++	   connect( so,   SIGNAL(guiChange(KScanOption*)),
++		    this, SLOT(slOptionNotify(KScanOption*)));
+ 
+    /* my Epson Perfection backends offer a list of user defined gamma values */
+ 
+--- kpovmodeler/kpovmodeler.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kpovmodeler/kpovmodeler.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -18,6 +18,7 @@
+ GenericName[en_GB]=Povray Modeller
+ GenericName[es]=Modelador Povray
+ GenericName[et]=Povray modelleerija
++GenericName[eu]=Povray modelatzailea
+ GenericName[fi]=Povray-mallintaja
+ GenericName[fr]=Modeleur Povray
+ GenericName[he]=מעצב Povray
+--- kdvi/kdvi.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kdvi/kdvi.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -16,6 +16,7 @@
+ GenericName[eo]=DVI-rigardilo
+ GenericName[es]=Visor de documentos DVI
+ GenericName[et]=DVI failide vaataja
++GenericName[eu]=DVI ikustailea
+ GenericName[fi]=DVI-näytin
+ GenericName[fr]=Afficheur DVI
+ GenericName[ga]=Amharcán DVI
+--- kcoloredit/kcoloredit.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kcoloredit/kcoloredit.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -22,6 +22,7 @@
+ GenericName[eo]=Paletroredaktilo
+ GenericName[es]=Editor de paleta de color
+ GenericName[et]=Värvipaleti redaktor
++GenericName[eu]=Koloreko paleta editorea
+ GenericName[fi]=Väripalettien muokkain
+ GenericName[fr]=Éditeur de palette de couleurs
+ GenericName[gl]=Editor de paletas de cores
+--- kcoloredit/kcolorchooser.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kcoloredit/kcolorchooser.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -22,6 +22,7 @@
+ GenericName[eo]=Ilo por elekti koloron
+ GenericName[es]=Selector de colores
+ GenericName[et]=Värvivalija
++GenericName[eu]=Kolore hautatzailea
+ GenericName[fi]=Värivalitsin
+ GenericName[fr]=Sélecteur de couleur
+ GenericName[gl]=Selecionador de cores
+--- kooka/kooka.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kooka/kooka.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -20,6 +20,7 @@
+ GenericName[eo]=Bildbitiga programo kaj tekstrekono
+ GenericName[es]=OCR y explorador con un escáner
+ GenericName[et]=Skaneerimise ja OMT rakendus
++GenericName[eu]=Eskaneatzeko eta OCR programa
+ GenericName[fi]=Skannaus- ja tekstintunnistusohjelma
+ GenericName[fr]=Numérisation et reconnaissance de caractères
+ GenericName[gl]=Programa para escanear e facer OCR
+--- kolourpaint/VERSION	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/VERSION	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -1 +1 @@
+-1.4.2_light
++1.4.3_light-pre
+--- kolourpaint/tools/kptooltext.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/tools/kptooltext.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -133,7 +133,7 @@
+ // public virtual [base kpTool]
+ void kpToolText::endShape (const QPoint &thisPoint, const QRect &normalizedRect)
+ {
+-#if DEBUG_KP_TOOL_TEXT
++#if DEBUG_KP_TOOL_TEXT && 1
+     kdDebug () << "kpToolText::endShape()" << endl;
+ #endif
+ 
+@@ -797,6 +797,8 @@
+                << " old="
+                << oldFontFamily
+                << endl;
++#else
++    (void) fontFamily;
+ #endif
+ 
+     if (!shouldChangeTextStyle ())
+@@ -820,6 +822,8 @@
+                << " old="
+                << oldFontSize
+                << endl;
++#else
++    (void) fontSize;
+ #endif
+ 
+     if (!shouldChangeTextStyle ())
+--- kolourpaint/NEWS	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/NEWS	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -2,6 +2,11 @@
+ KolourPaint 1.4_light Series (branches/KDE/3.4/)
+ ============================
+ 
++KolourPaint 1.4.3_light (Frozen ???)
++
++   * Correct and update image format associations to all formats supported
++     by KDE 3.4.2 (kdelibs/kimgio/:r436163)
++
+ KolourPaint 1.4.2_light (Frozen 2005-07-20)
+ 
+    * Enforce text box font height to prevent e.g. Chinese characters in
+@@ -32,15 +37,15 @@
+ 
+ KolourPaint 1.4_light (Frozen 2005-02-22)
+    * Antialias text when the text box has a transparent background (Bug #24)
+-     [also in branches/KDE/3.3/, branches/kolourpaint/1.2_kde3/]
++     [later backported to branches/KDE/3.3/, branches/kolourpaint/1.2_kde3/]
+    * Add Unzoomed Thumbnail Mode and Thumbnail Rectangle
+    * Add RMB context menu for when a selection tool is active (closing KDE
+      Bug #92882)
+    * More intuitive "Set as Image" behaviour (esp. with selection borders).
+      Thanks to Michael Lake for the feedback.
+-     [also in branches/KDE/3.3/, branches/kolourpaint/1.2_kde3/]
++     [later backported to branches/KDE/3.3/, branches/kolourpaint/1.2_kde3/]
+    * InputMethod support
+-     [also in branches/kolourpaint/1.2_kde3/]
++     [later backported to branches/kolourpaint/1.2_kde3/]
+    * Save "More Effects" dialog's last effect to config file
+    * Save "Resize / Scale" dialog's last "Keep aspect ratio" setting to
+      config file
+--- kolourpaint/kolourpaint.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/kolourpaint.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -60,7 +60,7 @@
+     (
+         "kolourpaint",
+         I18N_NOOP ("KolourPaint"),
+-        "1.4.2_light",  // SYNC: with VERSION
++        "1.4.3_light-pre",  // SYNC: with VERSION
+         I18N_NOOP ("Paint Program for KDE"),
+         KAboutData::License_Custom,
+         "Copyright (c) 2003,2004,2005 Clarence Dang",
+--- kolourpaint/kolourpaintui.rc	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/kolourpaintui.rc	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -1,4 +1,8 @@
+ <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
++<!--
++SYNC: Do not change the number of quotes before the version number
++      - it is parsed by the KolourPaint wrapper script.
++-->
+ <gui name="kolourpaint" version="24">
+ 
+ <!--
+--- kolourpaint/kolourpaint.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/kolourpaint.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -71,7 +71,10 @@
+ Exec=kolourpaint %u
+ DocPath=kolourpaint/index.html
+ 
+-MimeType=image/fax-g3;image/gif;image/jp2;image/jpeg;image/png;image/tiff;image/x-bmp;image/x-dds;image/x-eps;image/x-exr;image/x-ico;image/x-pcx;image/x-portable-bitmap;image/x-portable-greymap;image/x-portable-pixmap;image/x-psd;image/x-rgb;image/x-targa;image/x-xbm;image/x-xcf-gimp;image/x-xpm
++# SYNC: Run branches/kolourpaint/control/scripts/gen_mimetype_line.sh in
++#       the version of kdelibs/kimgio/ (e.g. KDE 3.4) KolourPaint is
++#       shipped with.
++MimeType=image/fax-g3;image/gif;image/jp2;image/jpeg;image/png;image/tiff;image/x-bmp;image/x-dds;image/x-eps;image/x-exr;image/x-ico;image/x-pcx;image/x-portable-bitmap;image/x-portable-greymap;image/x-portable-pixmap;image/x-psd;image/x-rgb;image/x-targa;image/x-xbm;image/x-xcf-gimp;image/x-xpm;video/x-mng
+ 
+ Categories=Qt;KDE;Graphics;
+ Terminal=false
+--- kolourpaint/kpmainwindow_view.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/kpmainwindow_view.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -183,7 +183,9 @@
+         items << zoomLevelToString (*it);
+     }
+ 
+-    // SYNC: work around a KDE bug - KSelectAction::setItems() enables the action
++    // Work around a KDE bug - KSelectAction::setItems() enables the action.
++    // David Faure said it won't be fixed because it's a feature used by
++    // KRecentFilesAction.
+     bool e = m_actionZoom->isEnabled ();
+     m_actionZoom->setItems (items);
+     if (e != m_actionZoom->isEnabled ())
+--- kolourpaint/kpdocumentsaveoptions.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/kpdocumentsaveoptions.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -401,6 +401,38 @@
+ 
+ 
+ // SYNC: update mime info
++//
++// Only care about writable mimetypes.
++//
++// Run "branches/kolourpaint/control/scripts/gen_mimetype_line.sh Write" in
++// trunk/KDE/kdelibs/kimgio to check for any new mimetypes to add info for.
++//
++// Update the below list also and bump up "kpSettingsGroupMimeTypeProperties"
++// in kpdefs.h.
++//
++// Currently, Depth and Quality settings are mutually exclusive with
++// Depth overriding Quality.  I've currently favoured Quality with the
++// below mimetypes (i.e. all lossy mimetypes are only given Quality settings,
++// no Depth settings).
++//
++// Mimetypes done:
++//  image/jp2 [UNTESTED]
++//  image/jpeg
++//  image/png
++//  image/x-bmp
++//  image/x-eps
++//  image/x-pcx
++//  image/x-portable-bitmap
++//  image/x-portable-greymap
++//  image/x-portable-pixmap
++//  image/x-rgb
++//  image/x-targa
++//  image/x-xbm
++//  image/x-xpm
++//
++// To test whether depth is configurable, write an image in the new
++// mimetype with all depths and read each one back.  See what
++// kpDocument thinks the depth is when it gets QImage to read it.
+ 
+ 
+ // public static
+@@ -408,9 +440,16 @@
+ {
+     QStringList defaultList;
+ 
+-    defaultList << QString::fromLatin1 ("image/x-eps:1");  // well, greyscale actually
++    // SYNC: update mime info here
++    
++    // Greyscale actually (unenforced since depth not set to configurable)
++    defaultList << QString::fromLatin1 ("image/x-eps:32");
++    
+     defaultList << QString::fromLatin1 ("image/x-portable-bitmap:1");
+-    defaultList << QString::fromLatin1 ("image/x-portable-greymap:1");  // well, greyscale actually
++    
++    // Greyscale actually (unenforced since depth not set to configurable)
++    defaultList << QString::fromLatin1 ("image/x-portable-greymap:8");
++    
+     defaultList << QString::fromLatin1 ("image/x-xbm:1");
+ 
+     const QStringList mimeTypeList = mimeTypesSupportingProperty (
+@@ -446,10 +485,17 @@
+ {
+     QStringList defaultMimeTypes;
+ 
++    // SYNC: update mime info here
++    defaultMimeTypes << QString::fromLatin1 ("image/png");
+     defaultMimeTypes << QString::fromLatin1 ("image/x-bmp");
+     defaultMimeTypes << QString::fromLatin1 ("image/x-pcx");
+-    defaultMimeTypes << QString::fromLatin1 ("image/png");
+-    defaultMimeTypes << QString::fromLatin1 ("image/x-rgb");  // TODO: only 1, 24 not 8
++    
++    // TODO: Only 1, 24 not 8; Qt only sees 32 but "file" cmd realises
++    //       it's either 1 or 24.
++    defaultMimeTypes << QString::fromLatin1 ("image/x-rgb");
++  
++    // TODO: Only 8 and 24 - no 1.
++    defaultMimeTypes << QString::fromLatin1 ("image/x-xpm");
+ 
+     return mimeTypeSupportsProperty (mimeType,
+         kpSettingMimeTypeHasConfigurableColorDepth,
+@@ -468,6 +514,8 @@
+ {
+     QStringList defaultMimeTypes;
+ 
++    // SYNC: update mime info here
++    defaultMimeTypes << QString::fromLatin1 ("image/jp2");
+     defaultMimeTypes << QString::fromLatin1 ("image/jpeg");
+ 
+     return mimeTypeSupportsProperty (mimeType,
+--- kolourpaint/README	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/README	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -1,15 +1,14 @@
+ 
+-KolourPaint Version 1.4.2_light (KDE 3.4.2 Release Frozen 2005-07-20)
++KolourPaint Version 1.4.3_light-pre (KDE 3.4.3 Release Frozen ???)
+ http://kolourpaint.sourceforge.net/
+ 
+ Copyright (c) 2003,2004,2005 Clarence Dang <dang at kde.org>
+ 
+ 
+ For licensing and warranty information, read COPYING.
+-For installation instructions, read INSTALL (but not with KDE releases).
+ For known problems with this release of KolourPaint, read BUGS.
+ For what changes have been made, read NEWS.
+-For information on what features are planned or unfinished, read TODO.
++For developer information, checkout branches/kolourpaint/control/.
+ For general information, read this file (README):
+ 
+ 
+--- kolourpaint/kpdefs.h	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kolourpaint/kpdefs.h	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -88,7 +88,7 @@
+ #define kpSettingResizeScaleLastKeepAspect QString::fromLatin1 ("Resize Scale - Last Keep Aspect")
+ 
+ 
+-#define kpSettingsGroupMimeTypeProperties QString::fromLatin1 ("MimeType Properties Version 1.2-1")
++#define kpSettingsGroupMimeTypeProperties QString::fromLatin1 ("MimeType Properties Version 1.2-2")
+ #define kpSettingMimeTypeMaximumColorDepth QString::fromLatin1 ("Maximum Color Depth")
+ #define kpSettingMimeTypeHasConfigurableColorDepth QString::fromLatin1 ("Configurable Color Depth")
+ #define kpSettingMimeTypeHasConfigurableQuality QString::fromLatin1 ("Configurable Quality Setting")
+--- Makefile.cvs	(.../tags/KDE/3.4.2/kdegraphics)	(revision 0)
++++ Makefile.cvs	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -0,0 +1,16 @@
++
++all: 
++	@echo "This Makefile is only for the CVS repository"
++	@echo "This will be deleted before making the distribution"
++	@echo ""
++	@if test ! -d admin; then \
++	   echo "Please recheckout this module!" ;\
++	   echo "for cvs: use checkout once and after that update again" ;\
++	   echo "for cvsup: checkout kde-common from cvsup and" ;\
++	   echo "   link kde-common/admin to ./admin" ;\
++	   exit 1 ;\
++	fi
++	$(MAKE) -f admin/Makefile.common cvs
++
++.SILENT:
++
+--- ksnapshot/ksnapshot.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ ksnapshot/ksnapshot.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -14,6 +14,7 @@
+ GenericName[eo]=Ekranfota programo
+ GenericName[es]=Capturador de pantalla
+ GenericName[et]=Töölaua pildistamine
++GenericName[eu]=Pantailari argazkiak ateratzeko programa
+ GenericName[fi]=Ruudunkaappausohjelma
+ GenericName[fr]=Logiciel de capture d'écran
+ GenericName[ga]=Clár gabhála scáileáin
+--- kviewshell/kmultipage.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kviewshell/kmultipage.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -872,9 +872,11 @@
+   Q_UINT8 cols = scrollView()->getNrColumns();
+   Q_UINT8 rows = scrollView()->getNrRows();
+ 
+-  Q_UINT16 np = 0;
++  Q_UINT16 np = 1;
+   if (cols*rows < currentPageNumber())
++  {
+     np = currentPageNumber() - cols*rows;
++  }
+ 
+   gotoPage(np);
+ }
+@@ -913,15 +915,15 @@
+ 
+   if (deltaInPixel < 0) {
+     if (scrollBar->value() == scrollBar->minValue()) {
+-      if ( (currentPageNumber() == 0) || (changePageDelayTimer.isActive()) )
++      if ( (currentPageNumber() == 1) || (changePageDelayTimer.isActive()) )
+         return;
+ 
+       if (scrollView()->isContinuous())
+         return;
+ 
+       changePageDelayTimer.stop();
++      prevPage();
+ 
+-      prevPage();
+       scrollView()->setContentsPos(scrollView()->contentsX(), scrollBar->maxValue());
+       return;
+     }
+@@ -929,7 +931,7 @@
+ 
+   if (deltaInPixel > 0) {
+     if (scrollBar->value() == scrollBar->maxValue()) {
+-      if ( (currentPageNumber() + 1 == numberOfPages()) || (changePageDelayTimer.isActive()) )
++      if ( (currentPageNumber() == numberOfPages()) || (changePageDelayTimer.isActive()) )
+         return;
+ 
+       if (scrollView()->isContinuous())
+--- kviewshell/pageSizeWidget.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kviewshell/pageSizeWidget.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -24,7 +24,7 @@
+ pageSizeWidget::pageSizeWidget( QWidget* parent,  const char* name, WFlags fl )
+     : pageSizeWidget_base( parent,  name, fl )
+ {
+-  connect(&chosenSize, SIGNAL(sizeChanged(float, float)), previewer, SLOT(setSize(float, float)));
++  connect(&chosenSize, SIGNAL(sizeChanged(simplePageSize)), previewer, SLOT(setSize(simplePageSize)));
+ 
+   // Set up the formatChoice QComboBox
+   formatChoice->insertItem(i18n("Custom Size"));
+--- kviewshell/sizePreview.h	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kviewshell/sizePreview.h	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -10,8 +10,9 @@
+ #ifndef SIZEPREVIEW_H
+ #define SIZEPREVIEW_H
+ 
+-class QPaintEvent;
++class simplePageSize;
+ 
++#include <qpixmap.h>
+ #include <qwidget.h>
+ 
+ class sizePreview : public QWidget
+@@ -23,13 +24,14 @@
+ 
+ public slots:
+   // Sets the size.
+-  void setSize(float width_mm, float height_mm);
++  void setSize(simplePageSize);
+ 
+   // or = 0 means "Portrait", anything else means "Landscape"
+   void setOrientation(int ori); 
+ 
+ protected:
+   void  paintEvent( QPaintEvent * );
++  void resizeEvent(QResizeEvent*);
+ 
+ private:
+   int orientation; // 0 = portrait, other = landscape
+@@ -37,6 +39,8 @@
+   // Both must be positive at all times!
+   float _width; // in mm
+   float _height; // in mm
++
++  QPixmap pixmap;
+ };
+ 
+ #endif
+--- kviewshell/centeringScrollview.h	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kviewshell/centeringScrollview.h	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -129,10 +129,6 @@
+ 
+     QPtrVector<QWidget> widgetListIfOldAddChildIsUsed;
+ 
+-    /** This is set in slotShowScrollbars() to remember the status of the
+-        scrollbars when we switch from fullscreen mode back to normal mode. */
+-    bool showScrollBars;
+-
+     /** This int remembers the style of the frame of the centering
+         scrollview when fullscreen mode is switched on. It is then
+         restored when it is switched off. */
+--- kviewshell/pageSizeWidget_base.ui	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kviewshell/pageSizeWidget_base.ui	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -1,4 +1,4 @@
+-<!DOCTYPE UI><UI version="3.1" stdsetdef="1">
++<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+ <class>pageSizeWidget_base</class>
+ <widget class="QWidget">
+     <property name="name">
+@@ -6,10 +6,10 @@
+     </property>
+     <property name="geometry">
+         <rect>
+-            <x>11</x>
+-            <y>113</y>
+-            <width>567</width>
+-            <height>179</height>
++            <x>0</x>
++            <y>0</y>
++            <width>595</width>
++            <height>175</height>
+         </rect>
+     </property>
+     <property name="sizePolicy">
+@@ -64,38 +64,6 @@
+                         <string>Format:</string>
+                     </property>
+                 </widget>
+-                <widget class="KComboBox" row="1" column="1">
+-                    <item>
+-                        <property name="text">
+-                            <string>Portrait</string>
+-                        </property>
+-                    </item>
+-                    <item>
+-                        <property name="text">
+-                            <string>Landscape</string>
+-                        </property>
+-                    </item>
+-                    <property name="name">
+-                        <cstring>orientationChoice</cstring>
+-                    </property>
+-                </widget>
+-                <spacer row="1" column="2">
+-                    <property name="name">
+-                        <cstring>Spacer8</cstring>
+-                    </property>
+-                    <property name="orientation">
+-                        <enum>Horizontal</enum>
+-                    </property>
+-                    <property name="sizeType">
+-                        <enum>Expanding</enum>
+-                    </property>
+-                    <property name="sizeHint">
+-                        <size>
+-                            <width>57</width>
+-                            <height>20</height>
+-                        </size>
+-                    </property>
+-                </spacer>
+                 <widget class="QLabel" row="2" column="0">
+                     <property name="name">
+                         <cstring>TextLabel1</cstring>
+@@ -168,35 +136,33 @@
+                         <cstring>widthUnits</cstring>
+                     </property>
+                 </widget>
+-                <spacer row="0" column="2">
++                <widget class="QLabel" row="1" column="0">
+                     <property name="name">
+-                        <cstring>Spacer7</cstring>
++                        <cstring>TextLabel4</cstring>
+                     </property>
+-                    <property name="orientation">
+-                        <enum>Horizontal</enum>
++                    <property name="text">
++                        <string>Orientation:</string>
+                     </property>
+-                    <property name="sizeType">
+-                        <enum>Expanding</enum>
+-                    </property>
+-                    <property name="sizeHint">
+-                        <size>
+-                            <width>50</width>
+-                            <height>20</height>
+-                        </size>
+-                    </property>
+-                </spacer>
+-                <widget class="KComboBox" row="0" column="1">
++                </widget>
++                <widget class="KComboBox" row="0" column="1" rowspan="1" colspan="2">
+                     <property name="name">
+                         <cstring>formatChoice</cstring>
+                     </property>
+                 </widget>
+-                <widget class="QLabel" row="1" column="0">
++                <widget class="KComboBox" row="1" column="1" rowspan="1" colspan="2">
++                    <item>
++                        <property name="text">
++                            <string>Portrait</string>
++                        </property>
++                    </item>
++                    <item>
++                        <property name="text">
++                            <string>Landscape</string>
++                        </property>
++                    </item>
+                     <property name="name">
+-                        <cstring>TextLabel4</cstring>
++                        <cstring>orientationChoice</cstring>
+                     </property>
+-                    <property name="text">
+-                        <string>Orientation:</string>
+-                    </property>
+                 </widget>
+             </grid>
+         </widget>
+@@ -212,6 +178,12 @@
+                     <verstretch>0</verstretch>
+                 </sizepolicy>
+             </property>
++            <property name="frameShape">
++                <enum>Box</enum>
++            </property>
++            <property name="lineWidth">
++                <number>1</number>
++            </property>
+             <property name="title">
+                 <string>Page Preview</string>
+             </property>
+@@ -268,7 +240,7 @@
+ </customwidgets>
+ <images>
+     <image name="image0">
+-        <data format="XPM.GZ" length="4350">789c6dd7594f23471007f0f7fd14d6d6db2aaaf58c3db647511eb831b7317794879ac30760cc61c010e5bba7dcf5af5688167664fdb66bbaababbb67cccf1f8dab93c3c68f9fdf5e16b298968d7222cf8d1fd5eb6cf6f1e75f7ffcfded7b9a3656ff9aad46fafdb76fdf078b46d9389a3fd42bf04841699e964933b830b79a7019dd0b96955b895b5a703bcd572e08eea576ff6570ae0eedd477b792103f854b8b2fc6d1163f77237e646e37113f89b6f8307e3bf1785a8b0eedbc696eb7ad9db7e01ee6476ee4ffe0c6fd158c7c69182cde4eec6e87fea50dfbf8176e6ba7d07f96669999cfa325ccaf862bcc97a36dbccf60f178cee11cde706761f16917ae30fe6b7488a7851bf14d7327417f676eb4f756eea41e2f57e6d83e83919f6cba117f04235fd9765b3b0fa36dfc398cf973edc67a6fb951ffe768ab6765ee26b8dff213ef5f4630e2b9e7463ea7ee8ee5ff60ee2618af8eb6fe3238437eb91bf1299cdbfacad3cadd5617f5a11738c7fe4adcb8ffd68d7aeec15e8fc3683b9f62ee2518ef33dafa3f75e3bc957086f86eb4d56f3db8e8e6dd56f01a5cc1bbe65e629673d8ebd18d0efdc9058cf9f2c08df9e630ce037db8719ec37c7a9a7fb708f10267b65e7cef46fb3e9ca3fd23dad6ef0cf67abe99f304f95ec3a8871cbb71be52d8d777e8b6fee412f6f958be3adf5ea817b561afe7d86ded7c67ce13c46fc37ede2766c17a17059cd9f38e466e8c3f8eb6fd700f0b9ef7095c37cd3d37de178f2be76dcf876fa343bd790267f012f67a77cc319f69b4ed872e2ca8e732daeabfe3c6fa9cc235f21f9b8bd4f2a5cd687bfedbfd659ee7ede017b842becf6eb44fa3cbd0df8559b0ffe808ceb0ff37e01afba3652e52cc87a26dbe276ecca7097790ff73b4cdef0616ac4fdf6df1c2d1d67ee8c6f80318eb4bd1180ff529513f0ecf7b694b62f5a002ceccb2662e523c2fb7605f9f0fd8fbbf75e3bc2dcd3e9ebcb9f17ce8c05e8f83685bcf701e44eb2db65e4fd1b65eebe62245be53b8c6f3ffdd8dfd3933fbf884761f5f0edcd88f951bf118bf44bde926dae24fe01ae7af76e3f9169e2f45bb143c0f5fdcf6fea23b18f773eac6f3e63ddac6db75e37df5e8c6fbae65aebcde6d37beaf84f528aa52f03c9dc3359ea79939c627d136deab1befaf75b883ef23e76e3ccfaea36d7dc2f795322b05ebfb0ad738af7db7ad371f99fd7e59b8b13f276e9cdf1318f5e54337e6d78cb67cf761ec170efba1acaa1afd9db92d3f3a36d729ea77efc6f33cbccf2beddfe6478fe6d85e45dbfd851bf1577007f5d877e3bc86f5a9ea3a2d6cffdfc1debe116df5db73a39e37b0e777191dda257c7fa83b6e8a2eaae00eeceb13d6b7d69f325b79b058fd32b170c1a55ebffaac2ccae2b9e6118f79c253bd6ef9ee3fd7587fef79c60f7acf3cc617fcc84ffcac6d8ffcc20b7ee5377ee7257ff027aff1bac66ff0269716cf5b1ab7cd3bbcabb17ddee37d3ee0433ee2633ee1019ff290cff89c2ff89229c48b66f1ac3d5df135df7093134eb9c56dcef4b3c35dee71ce393111dbfa8c784a4205955451cd1d1ad1982634a55bbad3f80eddd38c1ef882e66cf52ab5ff2b8d7ea4277aa6175ad06bb866f446efb4d4df0ffad4fed762ffb7b44e1b9cd2266dd142c75e5ddb3cd0bb3e347a477bd9d5f83ee245e3f7689f0ee830f67d44c77412ee186946033aa5e197fecfe85c7bf7be2fe892aee89a6ea84989f6bfa434f4eff9df52c509b5d0779b32ea684d13ea528f728d1e882ebfce37f6cf077422b4ea5b440ad14af1a15452ab473aee52c65ff39789b64fe955f44eb9937b5d858c5b32d377c0c32a7fee7ecd5fe61aff284ff22c2fb290577993775db1443fb53ef2219f5ff2bf93356d5b970dd9d41eb77820dbb223bbab155ed55ffab2f725ffb1eccb81aed6931cca116ab490633909d10339fd5ffdef795d869ae7923bc27226e772415d5986b51d683663b9d4fcfbb1ff190fe54aaec35aeaa577ee20f24673e94b531249a585fc2b69ebfe3ed7dae91f75ba964b5c03e9d344ba1add93bce0826c3f87f3b2a9fb6f18aeba10ba2f563f25eb1b563771a5d17531e2513c5fba538b3111cd690dd73c7ef6a95f4c8aa99de12fe77da4951de9ffffea730be7fd9fdfbffd0b690edc6c</data>
++        <data format="PNG" length="1110">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000041d49444154388d8d95c18b1c4514c67fbb29e5b54ea05b26da1d36b08d09a6c508138cb8c13d647141163de49043bca9f1628eb9294810f24f88c15b728b07617358888785d980427290b4a8d00b19a8821da8228cf42316ac87eed9247ac95c9aeaeef9eaabdffb5ebf85f178ccfcf7f5b79fec07a7280a08a008f25ceb7c29e5da573716e65a0be3f198ef6f5ededff9b9e1b34faf90882092a1ea21428b9220ffbf46054055b19386ba6970ae6665b5e0d2c5eb0b066067bbe1f21757c88f5504eff0c192189081303a5582b16854fccce2fe041f00cdd0a8103b874556405476b62d972ec2c2b90ff3fd8df5cb946549d80b34aea15ccaa94625450e2d0e558b460b7371a734b5e027251a155545678ab62d7eea90b4c504078908c107acb354cb251b1f8f08b1c18631aabbb4d18211404804f22545863561d2f060fb34aa8a18d0086204e72c46a32292e1a796f278c1da7a859d8da9a737506db04d0a24103d8949480b214d3bbee952a05c1d536f9d2684160c744f048311543d459eb1b65ee1754cedae13a64abd5d6127053c9d0281f22d4f75c6a2118a5c09272d7ab740638bf4ef2dd2174032d0d8d04c6fe19c32bedd8bc65e342aa3f785e2784bfd6bc1bd9db24b05505616a4edd67d5a8c1801a03a9962754c504bf34b8986acfb9be91cac7d54315a15541b36b134f74bd2dc53940115a5381e087bc25c6f71be831a8baa234cc1ee3eeb74ed83116beb2b8849d108a3730e8ce27e2bfb82419a7b407ac7c222fd0e6280a8078ce64e47ef54ac9d5be9aaae0162e0de568a44a18d3df90845d919c4f01463406340a44f40efb43a99b371618488e2670d1a2d7ee6f1d3be39342104e937ed85fb86599c33e9ee0be9a004946259d8b858909880d59aa00daa0d3280b5f39e34074c4b3a5434029a76a9e9f5cc0163b5c80024158a1cfc4cb1d3061d5834066cb0a403c008599a70f6bc27b8d03106ea3ae91987278c5b143b015547224ab5e24185cd9b81665273e7b6e7cecd82ddbf8098002de94049737bc09828cf3036f31c3735c8b0e98eb704672f348c7f7c93cd1fb2ae905119ff54e0dff3542b0e9dd983dcea2cc5eea6cf303e74ec687af5c41b6fa38f5e203c7ec8e1238ef85831a214afef21060ea781ec68247b65c6916353cc8b73d1ae79354606af2a930709aa118da1636c274dd7e3774b884a79aa6b5711a538d33cf9c01c1c9b83bc6a1f55c91ccb23b05b1deb43a7decdaffefd2862f61366aa8449c69e33642f012f2bb208fa98eeda1f3346f076c8eeef19475e9be115423364f78f84105a8643d34d90cfbfdcd8cf872589a45dc7f54cf3134a36f4e495c23f9da8db15bccb708d4014f2ca512cb5d4f7c13e84300d5cff6eb39b202bab053bdb9674f0648609427d0f8402ddeac30f4fcd3ced3efc3b422d406c09b340bedc1571e1bfc3d44dc281634c5fe5e758e7395cfbe6d6c130fd17d92372d277c159b70000000049454e44ae426082</data>
+     </image>
+ </images>
+ <tabstops>
+--- kviewshell/kviewpart.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kviewshell/kviewpart.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -453,7 +453,10 @@
+     kdError(4300) << "KViewPart::slotSetFullPage() called without existing multipage" << endl;
+ 
+   if (fullpage == false)
++  {
+     slotShowSidebar();
++    multiPage->slotShowScrollbars(scrollbarHandling->isChecked());
++  }
+ }
+ 
+ 
+@@ -958,6 +961,8 @@
+   _zoomVal.setZoomValue(sval);
+   if (fval != _zoomVal.value())
+     _zoomVal.setZoomValue(multiPage->setZoom(_zoomVal.value()));
++
++  mainWidget->setFocus(); 
+ }
+ 
+ 
+--- kviewshell/sizePreview.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kviewshell/sizePreview.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -14,18 +14,20 @@
+ 
+ #include "sizePreview.h"
+ 
++#include "simplePageSize.h"
++
+ sizePreview::sizePreview( QWidget *parent, const char *name, WFlags f )
+-    : QWidget( parent, name, f  )
++    : QWidget( parent, name, WStaticContents | WNoAutoErase )
+ {
+   // Set a sane default
+   _width = _height = 50.0;
+   orientation = 0; // Portrait
+ }
+ 
+-void sizePreview::setSize(float width, float height)
++void sizePreview::setSize(simplePageSize size)
+ {
+-  _width = width;
+-  _height = height;
++  _width = size.width_in_mm();
++  _height = size.height_in_mm();
+ 
+   if (_width < 50.0)
+     _width = 50.0;
+@@ -36,10 +38,15 @@
+     _height = 50.0;
+   if (_height > 1200.0)
+     _height = 1200.0;
+-  
++
+   update();
+ }
+ 
++void sizePreview::resizeEvent(QResizeEvent*)
++{
++  update();
++}
++
+ void sizePreview::paintEvent( QPaintEvent * )
+ {
+   int displayedWidth, displayedHeight;
+@@ -62,8 +69,10 @@
+ 
+ 
+   // Now draw the graphics
+-  erase();
+-  QPainter p(this);
++  pixmap.resize(width(), height());
++
++  QPainter p(&pixmap);
++  p.fillRect(rect(), colorGroup().background());
+   p.setPen(Qt::black);
+   p.setBrush(Qt::white);
+   p.drawRect(hOffset, vOffset, displayedWidth, displayedHeight);
+@@ -76,18 +85,23 @@
+ 
+   // Draw some dummy "text", represented by black lines
+   int lineSpacing    = (int)(7.0*displayedWidth/_width + 0.5); // equiv. 7 mm
+-  if (lineSpacing <= 0)
++  if (lineSpacing <= 3)
+     lineSpacing = 3;
+   int interWordSpace = (int)(4.0*displayedWidth/_width + 0.5); // equiv. 4 mm
+   if (interWordSpace <= 1)
+     interWordSpace = 2;
+ 
+-  KRandomSequence rnd(0); // to generate word widths
++  KRandomSequence rnd(1); // to generate word widths
+ 
+   p.setClipRect(textBox);
+   p.setPen(Qt::black);
+   int count = 1; // Counts lines
+   for (int y = vOffset+margin+lineSpacing; y <= vOffset+displayedHeight-margin; y += lineSpacing) {
++    // We start each line with its own seed.
++    // This means that the random sequence for each line is always the same, and this
++    // results in a more steady picture when the widget is resized.
++    rnd.setSeed(count);
++
+     // Every 10th line the end of a paragraph
+     int endParagraph;
+     if (count++ % 10 == 0)
+@@ -103,6 +117,9 @@
+   }
+ 
+   p.end();
++
++  // Copy the pixmap onto the widget
++  bitBlt(this, rect().topLeft(), &pixmap, rect(), CopyROP);
+   return;
+ }
+ 
+--- kviewshell/centeringScrollview.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kviewshell/centeringScrollview.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -44,7 +44,6 @@
+   viewport()->setBackgroundMode(Qt::NoBackground);
+ 
+   setResizePolicy(Manual);
+-  setAcceptDrops(true);
+   setDragAutoScroll(false);
+ 
+   enableClipper(true);
+@@ -236,11 +235,6 @@
+     setVScrollBarMode(QScrollView::AlwaysOff);
+     setHScrollBarMode(QScrollView::AlwaysOff);
+   }
+-
+-  // Remember the state of the scrollbars so that we can restore
+-  // scrollbar visibility when we switch back from fullscreen mode to
+-  // normal mode
+-  showScrollBars = status;
+ }
+ 
+ void CenteringScrollview::setFullScreenMode(bool fullScreen)
+@@ -261,7 +255,6 @@
+   else
+   {
+     viewport()->setPaletteBackgroundColor( backgroundColor ) ;
+-    slotShowScrollbars(showScrollBars);
+     setFrameStyle(oldFrameStyle);
+   }
+ }
+--- kghostview/displayoptions.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kghostview/displayoptions.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -56,7 +56,7 @@
+ 	res.setMagnification( args->getOption( "scale" ).toFloat() );
+ 	res.setPage( args->getOption( "page" ).toInt() - 1 ); // transform from 1-based into 0-based
+ 	//res._overridePageMedia = args->getOption( "paper" );
+-	kdDebug(4500 ) << "Parsed options: " << res << endl;
++	kdDebug(4500 ) << "Parsed options: " << DisplayOptions::toString( res ) << endl;
+ 	return res;
+ }
+ 
+--- kghostview/displayoptions.h	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kghostview/displayoptions.h	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -109,10 +109,4 @@
+ 	setMagnification( 1.0 );
+ }
+ 
+-template <typename OutStream>
+-OutStream& operator << ( OutStream& out, const DisplayOptions& obj ) {
+-	out << DisplayOptions::toString( obj ).utf8().data();
+-	return out;
+-}
+-
+ #endif // DISPLAYOPTIONS_H
+--- kamera/kcontrol/kamera.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kamera/kcontrol/kamera.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -16,6 +16,7 @@
+ Comment[eo]=Agordu fotilon
+ Comment[es]=Configura Kamera
+ Comment[et]=Kaamera seadistamine
++Comment[eu]=Konfigure Kamera
+ Comment[fi]=Kameran asetukset
+ Comment[fr]=Configuration de Kamera
+ Comment[ga]=Cumraigh Kamera
+@@ -73,6 +74,7 @@
+ Keywords[eo]=gphoto,kamerao,fotilo,cifereca fotilo,TTT-fotilo
+ Keywords[es]=gphoto,cámara,digicam,webcam,kamera
+ Keywords[et]=gphoto,kaamera,digitaalkaamera,veebikaamera,kamera
++Keywords[eu]=gphoto,kamera,digicam,webcam,kamera
+ Keywords[fi]=gphoto,kamera,digicam,webcam
+ Keywords[fr]=gphoto,camera,digicam,webcam,kamera,caméscope,caméra
+ Keywords[he]=gphoto,kamera,מצלמה,מצלמת רשת,מצלמה דיגיטלית
+@@ -120,6 +122,7 @@
+ Name[eo]=Cifereca fotilo
+ Name[es]=Cámara digital
+ Name[et]=Digitaalkaamera
++Name[eu]=Kamera digitala
+ Name[fi]=Digitaalikamera
+ Name[fr]=Appareil photo numérique
+ Name[ga]=Ceamara Digiteach
+--- kruler/eventsrc	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kruler/eventsrc	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -15,6 +15,7 @@
+ Comment[eo]=Ekranliniilo
+ Comment[es]=Regla para la pantalla de KDE
+ Comment[et]=KDE ekraani joonlaud
++Comment[eu]=KDE pantaila erregela
+ Comment[fi]=Näytön mittaaja
+ Comment[fr]=Règle d'écran pour KDE
+ Comment[ga]=Rialóir Scáileáin KDE
+@@ -127,6 +128,7 @@
+ Comment[eo]=La liniilo estas movita popunkte uzante la direktoklavojn
+ Comment[es]=La regla se ha movido entre los pixels usando las teclas del cursor
+ Comment[et]=Joonlauda liigutati pikselhaaval nooleklahve kasutades
++Comment[eu]=Erregela mugitu da kurtsore teklek eragina
+ Comment[fi]=Mittanauha on liikkunut pikseleitä käyttämällä kursorinäppäimiä
+ Comment[fr]=La règle s'est déplacée sous l'action des touches fléchées
+ Comment[gl]=A regra moverá o «pixelwise» empregando as teclas de cursor
+--- kruler/kruler.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kruler/kruler.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -14,6 +14,7 @@
+ GenericName[eo]=Ekranliniilo
+ GenericName[es]=Regla para la pantalla
+ GenericName[et]=Ekraani joonlaud
++GenericName[eu]=Pantaila erregela
+ GenericName[fi]=Näytön mittaaja
+ GenericName[fr]=Règle d'écran
+ GenericName[gl]=Regra de pantalla
+--- kiconedit/kiconedit.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kiconedit/kiconedit.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -17,6 +17,7 @@
+ GenericName[eo]=Ilo por pentri kaj redakti piktogramojn
+ GenericName[es]=Editor de iconos
+ GenericName[et]=Ikoonide redaktor
++GenericName[eu]=Ikono editorea
+ GenericName[fi]=Kuvakemuokkain
+ GenericName[fr]=Éditeur d'icône
+ GenericName[ga]=Eagarthóir Deilbhíní
+--- kfile-plugins/png/kfile_png.cpp	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kfile-plugins/png/kfile_png.cpp	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -248,11 +248,11 @@
+ 			if ( onePastLastIndex > fileSize || onePastLastIndex <= firstIndex)
+ 			    goto end;
+ 
+-			int uncompressedLen = compressedTextSize * 2; // just a starting point
++			uLongf uncompressedLen = compressedTextSize * 2; // just a starting point
+ 			int zlibResult;
+ 			do {
+ 			    arr.resize(uncompressedLen);
+-			    zlibResult = uncompress((Bytef*)arr.data(), (uLongf*)(&uncompressedLen),
++			    zlibResult = uncompress((Bytef*)arr.data(), &uncompressedLen,
+ 						    compressedText, compressedTextSize);
+ 			    if (Z_OK == zlibResult) {
+ 				// then it is all OK
+@@ -261,6 +261,10 @@
+ 				// the uncompressedArray needs to be larger
+ 				// kdDebug(7034) << "doubling size for decompression" << endl;
+ 				uncompressedLen *= 2;
++
++                                // DoS protection. can't be bigger than 64k
++                                if ( uncompressedLen > 131072 )
++                                    break;
+ 			    } else {
+ 				// something bad happened
+ 				goto end;
+--- kfile-plugins/dds/kfile_dds.desktop	(.../tags/KDE/3.4.2/kdegraphics)	(revision 454549)
++++ kfile-plugins/dds/kfile_dds.desktop	(.../branches/KDE/3.4/kdegraphics)	(revision 454549)
+@@ -8,6 +8,7 @@
+ Name[de]=DirectDraw Oberflächeninfo
+ Name[es]=Información de la primera vista de DirectDraw
+ Name[et]=DirectDraw Surface'i info
++Name[eu]=DirectDraw Surface informazioa
+ Name[fi]=DirectDraw pintatieto
+ Name[fr]=Informations de surface DirectDraw
+ Name[ga]=Eolas faoi DirectDraw Surface




More information about the Pkg-kde-commits mailing list