head 1.5; access; symbols pkgsrc-2017Q3:1.4.0.52 pkgsrc-2017Q3-base:1.4 pkgsrc-2017Q2:1.4.0.48 pkgsrc-2017Q2-base:1.4 pkgsrc-2017Q1:1.4.0.46 pkgsrc-2017Q1-base:1.4 pkgsrc-2016Q4:1.4.0.44 pkgsrc-2016Q4-base:1.4 pkgsrc-2016Q3:1.4.0.42 pkgsrc-2016Q3-base:1.4 pkgsrc-2016Q2:1.4.0.40 pkgsrc-2016Q2-base:1.4 pkgsrc-2016Q1:1.4.0.38 pkgsrc-2016Q1-base:1.4 pkgsrc-2015Q4:1.4.0.36 pkgsrc-2015Q4-base:1.4 pkgsrc-2015Q3:1.4.0.34 pkgsrc-2015Q3-base:1.4 pkgsrc-2015Q2:1.4.0.32 pkgsrc-2015Q2-base:1.4 pkgsrc-2015Q1:1.4.0.30 pkgsrc-2015Q1-base:1.4 pkgsrc-2014Q4:1.4.0.28 pkgsrc-2014Q4-base:1.4 pkgsrc-2014Q3:1.4.0.26 pkgsrc-2014Q3-base:1.4 pkgsrc-2014Q2:1.4.0.24 pkgsrc-2014Q2-base:1.4 pkgsrc-2014Q1:1.4.0.22 pkgsrc-2014Q1-base:1.4 pkgsrc-2013Q4:1.4.0.20 pkgsrc-2013Q4-base:1.4 pkgsrc-2013Q3:1.4.0.18 pkgsrc-2013Q3-base:1.4 pkgsrc-2013Q2:1.4.0.16 pkgsrc-2013Q2-base:1.4 pkgsrc-2013Q1:1.4.0.14 pkgsrc-2013Q1-base:1.4 pkgsrc-2012Q4:1.4.0.12 pkgsrc-2012Q4-base:1.4 pkgsrc-2012Q3:1.4.0.10 pkgsrc-2012Q3-base:1.4 pkgsrc-2012Q2:1.4.0.8 pkgsrc-2012Q2-base:1.4 pkgsrc-2012Q1:1.4.0.6 pkgsrc-2012Q1-base:1.4 pkgsrc-2011Q4:1.4.0.4 pkgsrc-2011Q4-base:1.4 pkgsrc-2011Q3:1.4.0.2 pkgsrc-2011Q3-base:1.4 pkgsrc-2011Q2:1.3.0.36 pkgsrc-2011Q2-base:1.3 pkgsrc-2009Q4:1.3.0.34 pkgsrc-2009Q4-base:1.3 pkgsrc-2008Q4:1.3.0.32 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.30 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.28 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.26 pkgsrc-2008Q2-base:1.3 pkgsrc-2008Q1:1.3.0.24 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.22 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.3.0.20 pkgsrc-2007Q3-base:1.3 pkgsrc-2007Q2:1.3.0.18 pkgsrc-2007Q2-base:1.3 pkgsrc-2007Q1:1.3.0.16 pkgsrc-2007Q1-base:1.3 pkgsrc-2006Q4:1.3.0.14 pkgsrc-2006Q4-base:1.3 pkgsrc-2006Q3:1.3.0.12 pkgsrc-2006Q3-base:1.3 pkgsrc-2006Q2:1.3.0.10 pkgsrc-2006Q2-base:1.3 pkgsrc-2006Q1:1.3.0.8 pkgsrc-2006Q1-base:1.3 pkgsrc-2005Q4:1.3.0.6 pkgsrc-2005Q4-base:1.3 pkgsrc-2005Q3:1.3.0.4 pkgsrc-2005Q3-base:1.3 pkgsrc-2005Q2:1.3.0.2 pkgsrc-2005Q2-base:1.3 pkgsrc-2005Q1:1.1.0.2; locks; strict; comment @# @; 1.5 date 2017.09.26.10.27.21; author wiz; state dead; branches; next 1.4; commitid 9ARpkXTuh9Wg2H8A; 1.4 date 2011.09.14.17.55.15; author hans; state Exp; branches; next 1.3; 1.3 date 2005.05.31.14.13.24; author markd; state dead; branches; next 1.2; 1.2 date 2005.05.01.04.35.40; author markd; state Exp; branches; next 1.1; 1.1 date 2005.04.12.11.00.03; author drochner; state Exp; branches 1.1.2.1; next ; 1.1.2.1 date 2005.04.12.11.00.03; author salo; state dead; branches; next 1.1.2.2; 1.1.2.2 date 2005.04.16.19.47.33; author salo; state Exp; branches; next 1.1.2.3; 1.1.2.3 date 2005.05.01.22.06.21; author salo; state Exp; branches; next ; desc @@ 1.5 log @*: remove qt3 and the packages using it, including KDE3 Announced in https://mail-index.netbsd.org/pkgsrc-users/2017/09/10/msg025556.html @ text @$NetBSD: patch-dc,v 1.4 2011/09/14 17:55:15 hans Exp $ --- kjs/operations.cpp.orig 2005-10-10 17:06:14.000000000 +0200 +++ kjs/operations.cpp 2011-09-07 15:05:55.044046847 +0200 @@@@ -51,6 +51,14 @@@@ #include "operations.h" #include "object.h" +#if defined(__sun) +#define INFINITY (__builtin_inff()) +#define isinf(x) __extension__( \ + { __typeof(x) __x_i = (x); \ + __x_i == (__typeof(__x_i)) INFINITY || \ + __x_i == (__typeof(__x_i)) (-INFINITY); }) +#endif + using namespace KJS; bool KJS::isNaN(double d) @ 1.4 log @Provide a definition of isinf() to make this work on SunOS. While isinf() is available on SunOS, using it requires C99 etc. which breaks in other places. @ text @d1 1 a1 1 $NetBSD$ @ 1.3 log @Update to KDE 3.4.1 Changes: * kdecore: Fix in command-line argument handler for clicking on mailto urls while kontact was started with arguments * kdecore: Fix the support for Dante proxies * kdecore: Fix the "random resolver failure" problem * kdecore: Fix the support for the IPv6 Blacklist in ioslaves * kdeui: Fix "Change Icon" in the toolbar editor * khtml: Fix submitted position for scrolled imagemaps * khtml: Load external CSS style-sheet with correct charset * khtml: Apply CSS padding to tables * khtml: Improve PRE parsing * khtml: Fix links with WBR tags * khtml: Parse CSS3 pseudo-classes and pseudo-elements more strict * khtml: Fix document.all.item * khtml: Return meaningful HTMLTableCellElement::cellIndex() values * khtml: Unbreak setting of location.href on windows opened by windows.open() * khtml: Various crash fixes * khtml: Fixed infinite loop due to onChange from textareas * khtml: Fix crash in window.setTimeout when Javascript is disabled * khtml: Fix server-side-push handler to accept bugzilla sending "text/html; charset=utf-8" as Content-Type * khtml: Fix for MMB-pasting onto an empty konqueror window * kjs: Allow non-ascii letters in identifiers * kjs: More flexible date string parsing * kjs: Fixes in escape() and unescape() functions * kjs: Fixes in RegExp constructor * kssl: store SSL passwords in the KDE wallet and reuse as needed * kio: KZip: Fixed double-deletion bug when trying to write to a non-writable directory. * kio: Fix for print:/manager not embedding the right part in Konqueror * kio: Use correct window icon in Konqueror when showing trash:/ * kfile: Don't show edit dialog when drop-adding items to sidebar * kfile: If Shift is pressed when menu opens show 'Delete' instead of 'Trash' * kio-http: Prevent endless busy loop * kio-http: Massive speed improvement for deleting Webdav folders * kio-ftp: Try non-passive mode if passive mode fails * kio-ftp: Fix parsing of Netware FTP servers, so that files don't all appear with a lock (no permissions) * kutils: Fixed support for back ref \0 (entire matched text) @ text @d1 1 a1 1 $NetBSD: patch-dc,v 1.2 2005/05/01 04:35:40 markd Exp $ d3 13 a15 219 --- kimgio/pcx.cpp.orig 2004-11-22 16:48:27.000000000 +1300 +++ kimgio/pcx.cpp @@@@ -1,5 +1,5 @@@@ /* This file is part of the KDE project - Copyright (C) 2002-2003 Nadeem Hasan + Copyright (C) 2002-2005 Nadeem Hasan This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@@@ -44,6 +44,11 @@@@ static QDataStream &operator>>( QDataStr s >> ph.HScreenSize; s >> ph.VScreenSize; + // Skip the rest of the header + Q_UINT8 byte; + while ( s.device()->at() < 128 ) + s >> byte; + return s; } @@@@ -85,25 +90,22 @@@@ static QDataStream &operator<<( QDataStr return s; } -static PCXHEADER header; -static QImage img; -static Q_UINT16 w, h; - -void PCXHEADER::reset() +PCXHEADER::PCXHEADER() { + // Initialize all data to zero QByteArray dummy( 128 ); dummy.fill( 0 ); QDataStream s( dummy, IO_ReadOnly ); s >> *this; } -static void readLine( QDataStream &s, QByteArray &buf ) +static void readLine( QDataStream &s, QByteArray &buf, const PCXHEADER &header ) { Q_UINT32 i=0; Q_UINT32 size = buf.size(); Q_UINT8 byte, count; - if ( header.Encoding == 1 ) + if ( header.isCompressed() ) { // Uncompress the image data while ( i < size ) @@@@ -130,13 +132,14 @@@@ static void readLine( QDataStream &s, QB } } -static void readImage1( QDataStream &s ) +static void readImage1( QImage &img, QDataStream &s, const PCXHEADER &header ) { QByteArray buf( header.BytesPerLine ); - img.create( w, h, 1, 2, QImage::BigEndian ); + if(!img.create( header.width(), header.height(), 1, 2, QImage::BigEndian )) + return; - for ( int y=0; y> ( x%8 ) ) ) pixbuf[ x ] += ( 1 << i ); } uchar *p = img.scanLine( y ); - - for ( int x=0; x> flag; - kdDebug() << "Flag: " << flag << endl; + kdDebug( 399 ) << "Palette Flag: " << flag << endl; - if ( flag == 12 && header.Version == 5 ) + if ( flag == 12 && ( header.Version == 5 || header.Version == 2 ) ) { // Read the palette Q_UINT8 r, g, b; @@@@ -230,15 +235,16 @@@@ static void readImage8( QDataStream &s ) } } -static void readImage24( QDataStream &s ) +static void readImage24( QImage &img, QDataStream &s, const PCXHEADER &header ) { QByteArray r_buf( header.BytesPerLine ); QByteArray g_buf( header.BytesPerLine ); QByteArray b_buf( header.BytesPerLine ); - img.create( w, h, 32 ); + if(!img.create( header.width(), header.height(), 32 )) + return; - for ( int y=0; y> header; if ( header.Manufacturer != 10 || s.atEnd()) @@@@ -276,10 +283,8 @@@@ KDE_EXPORT void kimgio_pcx_read( QImageI return; } - w = ( header.XMax-header.XMin ) + 1; - h = ( header.YMax-header.YMin ) + 1; - - img.reset(); + int w = header.width(); + int h = header.height(); kdDebug( 399 ) << "Manufacturer: " << header.Manufacturer << endl; kdDebug( 399 ) << "Version: " << header.Version << endl; @@@@ -288,30 +293,27 @@@@ KDE_EXPORT void kimgio_pcx_read( QImageI kdDebug( 399 ) << "Width: " << w << endl; kdDebug( 399 ) << "Height: " << h << endl; kdDebug( 399 ) << "Window: " << header.XMin << "," << header.XMax << "," - << header.YMin << "," << header.YMax << endl; + << header.YMin << "," << header.YMax << endl; kdDebug( 399 ) << "BytesPerLine: " << header.BytesPerLine << endl; kdDebug( 399 ) << "NPlanes: " << header.NPlanes << endl; - // Skip the rest of the header - Q_UINT8 byte; - while ( s.device()->at() < 128 ) - s >> byte; + QImage img; if ( header.Bpp == 1 && header.NPlanes == 1 ) { - readImage1( s ); + readImage1( img, s, header ); } else if ( header.Bpp == 1 && header.NPlanes == 4 ) { - readImage4( s ); + readImage4( img, s, header ); } else if ( header.Bpp == 8 && header.NPlanes == 1 ) { - readImage8( s ); + readImage8( img, s, header ); } else if ( header.Bpp == 8 && header.NPlanes == 3 ) { - readImage24( s ); + readImage24( img, s, header ); } kdDebug( 399 ) << "Image Bytes: " << img.numBytes() << endl; @@@@ -359,7 +361,7 @@@@ static void writeLine( QDataStream &s, Q } } -static void writeImage1( QDataStream &s ) +static void writeImage1( QImage &img, QDataStream &s, PCXHEADER &header ) { img = img.convertBitOrder( QImage::BigEndian ); @@@@ -367,29 +369,27 @@@@ static void writeImage1( QDataStream &s header.NPlanes = 1; header.BytesPerLine = img.bytesPerLine(); - header.ColorMap.setColor( 0, qRgb( 0, 0, 0 ) ); - header.ColorMap.setColor( 1, qRgb( 255, 255, 255 ) ); - s << header; QByteArray buf( header.BytesPerLine ); - for ( int y=0; yioDevice() ); s.setByteOrder( QDataStream::LittleEndian ); - img = io->image(); + QImage img = io->image(); - w = img.width(); - h = img.height(); + int w = img.width(); + int h = img.height(); kdDebug( 399 ) << "Width: " << w << endl; kdDebug( 399 ) << "Height: " << h << endl; @@@@ -495,6 +495,8 @@@@ KDE_EXPORT void kimgio_pcx_write( QImage kdDebug( 399 ) << "BytesPerLine: " << img.bytesPerLine() << endl; kdDebug( 399 ) << "Num Colors: " << img.numColors() << endl; + PCXHEADER header; + header.Manufacturer = 10; header.Version = 5; header.Encoding = 1; @@@@ -509,19 +511,19 @@@@ KDE_EXPORT void kimgio_pcx_write( QImage if ( img.depth() == 1 ) { - writeImage1( s ); + writeImage1( img, s, header ); } else if ( img.depth() == 8 && img.numColors() <= 16 ) { - writeImage4( s ); + writeImage4( img, s, header ); } else if ( img.depth() == 8 ) { - writeImage8( s ); + writeImage8( img, s, header ); } else if ( img.depth() == 32 ) { - writeImage24( s ); + writeImage24( img, s, header ); } d19 1 a19 1 io->setStatus( 0 ); @ 1.2 log @Apply the official KDE patches for CAN-2005-1046. http://www.kde.org/info/security/advisory-20050421-1.txt Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: patch-dc,v 1.1 2005/04/12 11:00:03 drochner Exp $ @ 1.1 log @fix buffer overflow by corrupt PCX files, leading to crashes or code injection, see http://bugs.kde.org/show_bug.cgi?id=102328 bump PKGREVISION @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- kimgio/pcx.cpp.orig 2004-11-22 04:48:27.000000000 +0100 d5 55 a59 1 @@@@ -134,7 +134,8 @@@@ static void readImage1( QDataStream &s ) d64 1 a64 1 + if( !img.create( w, h, 1, 2, QImage::BigEndian )) d67 2 a68 1 for ( int y=0; y + Copyright (C) 2002-2005 Nadeem Hasan This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@@@ -44,6 +44,11 @@@@ static QDataStream &operator>>( QDataStr s >> ph.HScreenSize; s >> ph.VScreenSize; + // Skip the rest of the header + Q_UINT8 byte; + while ( s.device()->at() < 128 ) + s >> byte; + return s; } @@@@ -85,25 +90,22 @@@@ static QDataStream &operator<<( QDataStr return s; } -static PCXHEADER header; -static QImage img; -static Q_UINT16 w, h; - -void PCXHEADER::reset() +PCXHEADER::PCXHEADER() { + // Initialize all data to zero QByteArray dummy( 128 ); dummy.fill( 0 ); QDataStream s( dummy, IO_ReadOnly ); s >> *this; } -static void readLine( QDataStream &s, QByteArray &buf ) +static void readLine( QDataStream &s, QByteArray &buf, const PCXHEADER &header ) { Q_UINT32 i=0; Q_UINT32 size = buf.size(); Q_UINT8 byte, count; - if ( header.Encoding == 1 ) + if ( header.isCompressed() ) { // Uncompress the image data while ( i < size ) @@@@ -130,13 +132,14 @@@@ static void readLine( QDataStream &s, QB } } -static void readImage1( QDataStream &s ) +static void readImage1( QImage &img, QDataStream &s, const PCXHEADER &header ) d10 1 a10 1 + if(!img.create( header.width(), header.height(), 1, 2, QImage::BigEndian )) d13 1 a13 2 - for ( int y=0; y> ( x%8 ) ) ) pixbuf[ x ] += ( 1 << i ); } uchar *p = img.scanLine( y ); - - for ( int x=0; x> flag; - kdDebug() << "Flag: " << flag << endl; + kdDebug( 399 ) << "Palette Flag: " << flag << endl; - if ( flag == 12 && header.Version == 5 ) + if ( flag == 12 && ( header.Version == 5 || header.Version == 2 ) ) { // Read the palette Q_UINT8 r, g, b; @@@@ -230,15 +235,16 @@@@ static void readImage8( QDataStream &s ) } } -static void readImage24( QDataStream &s ) +static void readImage24( QImage &img, QDataStream &s, const PCXHEADER &header ) { QByteArray r_buf( header.BytesPerLine ); d40 1 a40 1 + if(!img.create( header.width(), header.height(), 32 )) d43 1 a43 63 - for ( int y=0; y> header; if ( header.Manufacturer != 10 || s.atEnd()) @@@@ -276,10 +283,8 @@@@ void kimgio_pcx_read( QImageIO *io ) return; } - w = ( header.XMax-header.XMin ) + 1; - h = ( header.YMax-header.YMin ) + 1; - - img.reset(); + int w = header.width(); + int h = header.height(); kdDebug( 399 ) << "Manufacturer: " << header.Manufacturer << endl; kdDebug( 399 ) << "Version: " << header.Version << endl; @@@@ -288,30 +293,27 @@@@ void kimgio_pcx_read( QImageIO *io ) kdDebug( 399 ) << "Width: " << w << endl; kdDebug( 399 ) << "Height: " << h << endl; kdDebug( 399 ) << "Window: " << header.XMin << "," << header.XMax << "," - << header.YMin << "," << header.YMax << endl; + << header.YMin << "," << header.YMax << endl; kdDebug( 399 ) << "BytesPerLine: " << header.BytesPerLine << endl; kdDebug( 399 ) << "NPlanes: " << header.NPlanes << endl; - // Skip the rest of the header - Q_UINT8 byte; - while ( s.device()->at() < 128 ) - s >> byte; + QImage img; if ( header.Bpp == 1 && header.NPlanes == 1 ) a44 177 - readImage1( s ); + readImage1( img, s, header ); } else if ( header.Bpp == 1 && header.NPlanes == 4 ) { - readImage4( s ); + readImage4( img, s, header ); } else if ( header.Bpp == 8 && header.NPlanes == 1 ) { - readImage8( s ); + readImage8( img, s, header ); } else if ( header.Bpp == 8 && header.NPlanes == 3 ) { - readImage24( s ); + readImage24( img, s, header ); } kdDebug( 399 ) << "Image Bytes: " << img.numBytes() << endl; @@@@ -359,7 +361,7 @@@@ static void writeLine( QDataStream &s, Q } } -static void writeImage1( QDataStream &s ) +static void writeImage1( QImage &img, QDataStream &s, PCXHEADER &header ) { img = img.convertBitOrder( QImage::BigEndian ); @@@@ -367,29 +369,27 @@@@ static void writeImage1( QDataStream &s header.NPlanes = 1; header.BytesPerLine = img.bytesPerLine(); - header.ColorMap.setColor( 0, qRgb( 0, 0, 0 ) ); - header.ColorMap.setColor( 1, qRgb( 255, 255, 255 ) ); - s << header; QByteArray buf( header.BytesPerLine ); - for ( int y=0; yioDevice() ); s.setByteOrder( QDataStream::LittleEndian ); - img = io->image(); + QImage img = io->image(); - w = img.width(); - h = img.height(); + int w = img.width(); + int h = img.height(); kdDebug( 399 ) << "Width: " << w << endl; kdDebug( 399 ) << "Height: " << h << endl; @@@@ -495,6 +495,8 @@@@ void kimgio_pcx_write( QImageIO *io ) kdDebug( 399 ) << "BytesPerLine: " << img.bytesPerLine() << endl; kdDebug( 399 ) << "Num Colors: " << img.numColors() << endl; + PCXHEADER header; + header.Manufacturer = 10; header.Version = 5; header.Encoding = 1; @@@@ -509,19 +511,19 @@@@ void kimgio_pcx_write( QImageIO *io ) if ( img.depth() == 1 ) { - writeImage1( s ); + writeImage1( img, s, header ); } else if ( img.depth() == 8 && img.numColors() <= 16 ) { - writeImage4( s ); + writeImage4( img, s, header ); } else if ( img.depth() == 8 ) { - writeImage8( s ); + writeImage8( img, s, header ); } else if ( img.depth() == 32 ) { - writeImage24( s ); + writeImage24( img, s, header ); } io->setStatus( 0 ); @