aboutsummaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authorMax Brazhnikov <makc@FreeBSD.org>2010-09-19 20:41:53 +0000
committerMax Brazhnikov <makc@FreeBSD.org>2010-09-19 20:41:53 +0000
commite9a52f13629b046ac774067871124afadbe19754 (patch)
treef4c34fd8f9205f4e8667c89976491c1b4ad5881d /x11
parentd0dbf9ed3303270cd5ecac718d8dfe40531b6664 (diff)
downloadports-e9a52f13629b046ac774067871124afadbe19754.tar.gz
ports-e9a52f13629b046ac774067871124afadbe19754.zip
Add patch from upstream to fix regression for ZIP files
Notes
Notes: svn path=/head/; revision=261449
Diffstat (limited to 'x11')
-rw-r--r--x11/kdelibs4/Makefile1
-rw-r--r--x11/kdelibs4/files/patch-117134239
2 files changed, 40 insertions, 0 deletions
diff --git a/x11/kdelibs4/Makefile b/x11/kdelibs4/Makefile
index 7b44738ad54b..31e1523261aa 100644
--- a/x11/kdelibs4/Makefile
+++ b/x11/kdelibs4/Makefile
@@ -8,6 +8,7 @@
PORTNAME= kdelibs
PORTVERSION= ${KDE4_VERSION}
+PORTREVISION= 1
CATEGORIES= x11 kde ipv6
MASTER_SITES= ${MASTER_SITE_KDE}
MASTER_SITE_SUBDIR= ${KDE4_BRANCH}/${PORTVERSION}/src
diff --git a/x11/kdelibs4/files/patch-1171342 b/x11/kdelibs4/files/patch-1171342
new file mode 100644
index 000000000000..e2b9fa34b38e
--- /dev/null
+++ b/x11/kdelibs4/files/patch-1171342
@@ -0,0 +1,39 @@
+--- ./kdecore/io/karchive.cpp 2010/08/24 19:50:56 1167508
++++ ./kdecore/io/karchive.cpp 2010/09/03 13:29:40 1171342
+@@ -634,7 +634,10 @@
+
+ QByteArray KArchiveFile::data() const
+ {
+- archive()->device()->seek( d->pos );
++ bool ok = archive()->device()->seek( d->pos );
++ if (!ok) {
++ kWarning() << "Failed to sync to" << d->pos << "to read" << name();
++ }
+
+ // Read content
+ QByteArray arr;
+@@ -661,7 +664,7 @@
+ QFile f( dest + '/' + name() );
+ if ( f.open( QIODevice::ReadWrite | QIODevice::Truncate ) )
+ {
+- archive()->device()->seek( d->pos );
++ QIODevice* inputDev = createDevice();
+
+ // Read and write data in chunks to minimize memory usage
+ const qint64 chunkSize = 1024 * 1024;
+@@ -671,12 +674,14 @@
+
+ while ( remainingSize > 0 ) {
+ const qint64 currentChunkSize = qMin( chunkSize, remainingSize );
+- const qint64 n = archive()->device()->read( array.data(), currentChunkSize );
++ const qint64 n = inputDev->read( array.data(), currentChunkSize );
+ Q_ASSERT( n == currentChunkSize );
+ f.write( array.data(), currentChunkSize );
+ remainingSize -= currentChunkSize;
+ }
+ f.close();
++
++ delete inputDev;
+ }
+ }
+