[arch-commits] Commit in kmess/repos (5 files)

Jaroslav Lichtblau jlichtblau at archlinux.org
Wed Oct 1 06:30:16 UTC 2014


    Date: Wednesday, October 1, 2014 @ 08:30:16
  Author: jlichtblau
Revision: 119922

archrelease: copy trunk to community-staging-x86_64

Added:
  kmess/repos/community-staging-x86_64/
  kmess/repos/community-staging-x86_64/PKGBUILD
    (from rev 119921, kmess/trunk/PKGBUILD)
  kmess/repos/community-staging-x86_64/fix-crash-in-contactlistmodel.patch
    (from rev 119921, kmess/trunk/fix-crash-in-contactlistmodel.patch)
  kmess/repos/community-staging-x86_64/giflib-5.0.patch
    (from rev 119921, kmess/trunk/giflib-5.0.patch)
  kmess/repos/community-staging-x86_64/kmess.install
    (from rev 119921, kmess/trunk/kmess.install)

-------------------------------------+
 PKGBUILD                            |   52 ++++++++++++++++++
 fix-crash-in-contactlistmodel.patch |   29 ++++++++++
 giflib-5.0.patch                    |   95 ++++++++++++++++++++++++++++++++++
 kmess.install                       |   11 +++
 4 files changed, 187 insertions(+)

Copied: kmess/repos/community-staging-x86_64/PKGBUILD (from rev 119921, kmess/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2014-10-01 06:30:16 UTC (rev 119922)
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Jaroslav Lichtblau <dragonlord at aur.archlinux.org>
+# Contributor: Mateusz Herych <heniekk at gmail.com>
+# Contributor: Stefano Zamprogno <stefano.zamprogno at gmail.com>
+
+pkgname=kmess
+pkgver=2.0.6.2
+pkgrel=7
+pkgdesc="A MSN Messenger client for Linux"
+arch=('i686' 'x86_64')
+url='http://kmess.sourceforge.net/'
+license=('GPL')
+depends=('kdebase-lib')
+makedepends=('automoc4' 'cmake' 'optipng')
+optdepends=('cabextract: provides winks support')
+install=$pkgname.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-$pkgver.tar.bz2
+        giflib-5.0.patch
+        fix-crash-in-contactlistmodel.patch)
+md5sums=('a2e57911713308bef81b9347135cc5dd'
+         '29f7a0c0e27d6b5cafbc3ad498e3e30f'
+         'fdfe837f4bd64a5123edc63019bd5cf2')
+
+prepare() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+# Fix invalid PNG images to work with libpng 1.6
+  find -name '*.png' -exec optipng -quiet -force -fix {} +
+
+  patch -Np0 -i ../giflib-5.0.patch
+
+# Fix crash in ContactListModel (FS#32402)
+  patch -Np1 -i ../fix-crash-in-contactlistmodel.patch
+}
+
+build() {
+  cd "${srcdir}"
+
+  mkdir build
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_BUILD_TYPE=Release
+
+  make
+}
+
+package() {
+  cd "${srcdir}"/build
+
+  make DESTDIR="${pkgdir}" install
+}

Copied: kmess/repos/community-staging-x86_64/fix-crash-in-contactlistmodel.patch (from rev 119921, kmess/trunk/fix-crash-in-contactlistmodel.patch)
===================================================================
--- community-staging-x86_64/fix-crash-in-contactlistmodel.patch	                        (rev 0)
+++ community-staging-x86_64/fix-crash-in-contactlistmodel.patch	2014-10-01 06:30:16 UTC (rev 119922)
@@ -0,0 +1,29 @@
+commit e10ebb8bd33cf807e2edfa56c465b40f3237102e
+Author: Ruben Vandamme <ruben at kmess.org>
+Date:   Sun Jul 8 10:56:37 2012 +0200
+
+    Fix crash in ContactListModel.
+    
+    * Individually delete every child instead of using qDeleteAll.
+    * Crash only happens in combination with Qt 4.8.
+    * See https://bugs.kde.org/show_bug.cgi?id=285951 for similar issue in Amarok.
+    * See https://bugreports.qt-project.org/browse/QTBUG-22037 for Qt report.
+    * Many thanks to Bob ("badjar" on kmess.org/board) for providing the fix.
+
+diff --git a/src/model/contactlistmodelitem.cpp b/src/model/contactlistmodelitem.cpp
+index 462d555..ac5a6ca 100644
+--- a/src/model/contactlistmodelitem.cpp
++++ b/src/model/contactlistmodelitem.cpp
+@@ -79,7 +79,11 @@ ContactListModelItem::ContactListModelItem( Group *group, ContactListModelItem *
+  */
+ ContactListModelItem::~ContactListModelItem()
+ {
+-  qDeleteAll( childItems_ );
++  while( !childItems_.isEmpty() )
++  {
++    delete childItems_.takeFirst();
++  }
++
+   childItems_.clear();
+ 
+   // Delete this item from the parent's children

Copied: kmess/repos/community-staging-x86_64/giflib-5.0.patch (from rev 119921, kmess/trunk/giflib-5.0.patch)
===================================================================
--- community-staging-x86_64/giflib-5.0.patch	                        (rev 0)
+++ community-staging-x86_64/giflib-5.0.patch	2014-10-01 06:30:16 UTC (rev 119922)
@@ -0,0 +1,95 @@
+--- contrib/isf-qt/src/isfqt.cpp.orig	2014-06-11 13:10:43.137321400 +0000
++++ contrib/isf-qt/src/isfqt.cpp	2014-06-11 13:12:23.123474616 +0000
+@@ -249,7 +249,7 @@
+     qWarning() << "Couldn't initialize GIF library!";
+   }
+ 
+-  DGifCloseFile( gifImage );
++  DGifCloseFile( gifImage, NULL );
+   gifData.close();
+ */
+ 
+@@ -484,12 +484,13 @@
+   int             width     = isfImage.width();
+   int             numColors = 0;
+   bool            gifError  = true;
++  int             gifErrCode;
+ 
+   // Convert the image to GIF using libgif
+ 
+   // Open the gif file
+   gifData.open( QIODevice::WriteOnly );
+-  gifImage = EGifOpen( (void*)&gifData, GifWriteToByteArray );
++  gifImage = EGifOpen( (void*)&gifData, GifWriteToByteArray, &gifErrCode );
+   if( gifImage == 0 )
+   {
+     qWarning() << "Couldn't initialize gif library!";
+@@ -503,7 +504,7 @@
+     numColors = 256;
+   }
+ 
+-  cmap = MakeMapObject( numColors, NULL );
++  cmap = GifMakeMapObject( numColors, NULL );
+   if( cmap == 0 && isfImage.numColors() > 1 )
+   {
+     qWarning() << "Couldn't create map object for gif conversion (colors:" << isfImage.numColors() << ")!";
+@@ -576,7 +577,7 @@
+   else
+   {
+     // Write the extension
+-    if( EGifPutExtensionFirst( gifImage, COMMENT_EXT_FUNC_CODE, MAX_GIF_BYTE, isfData.left( MAX_GIF_BYTE ).data() ) == GIF_ERROR )
++    if( EGifPutExtensionLeader( gifImage, COMMENT_EXT_FUNC_CODE) == GIF_ERROR )
+     {
+       qWarning() << "EGifPutExtensionFirst failed!";
+       goto writeError;
+@@ -590,9 +591,9 @@
+     // Write all the full data blocks
+     while( length >= MAX_GIF_BYTE )
+     {
+-      if( EGifPutExtensionNext( gifImage, 0, MAX_GIF_BYTE, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
++      if( EGifPutExtensionBlock( gifImage, MAX_GIF_BYTE, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
+       {
+-        qWarning() << "EGifPutExtensionNext failed!";
++        qWarning() << "EGifPutExtensionBlock failed!";
+         goto writeError;
+       }
+ 
+@@ -603,17 +604,17 @@
+     // Write the last block
+     if( length > 0 )
+     {
+-      if( EGifPutExtensionLast( gifImage, 0, length, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
++      if( EGifPutExtensionTrailer( gifImage ) == GIF_ERROR )
+       {
+-        qWarning() << "EGifPutExtensionLast (n) failed!";
++        qWarning() << "EGifPutExtensionTrailer (n) failed!";
+         goto writeError;
+       }
+     }
+     else
+     {
+-      if( EGifPutExtensionLast( gifImage, 0, 0, 0 ) == GIF_ERROR )
++      if( EGifPutExtensionTrailer( gifImage ) == GIF_ERROR )
+       {
+-        qWarning() << "EGifPutExtensionLast (0) failed!";
++        qWarning() << "EGifPutExtensionTrailer (0) failed!";
+         goto writeError;
+       }
+     }
+@@ -623,13 +624,13 @@
+ 
+ writeError:
+   // Clean up the GIF converter etc
+-  EGifCloseFile( gifImage );
+-  FreeMapObject( cmap );
++  EGifCloseFile( gifImage, NULL );
++  GifFreeMapObject( cmap );
+   gifData.close();
+ 
+   if( gifError )
+   {
+-    qWarning() << "GIF error code:" << GifLastError();
++    qWarning() << "GIF error code:" << GifErrorString(gifErrCode);
+   }
+   else
+   {

Copied: kmess/repos/community-staging-x86_64/kmess.install (from rev 119921, kmess/trunk/kmess.install)
===================================================================
--- community-staging-x86_64/kmess.install	                        (rev 0)
+++ community-staging-x86_64/kmess.install	2014-10-01 06:30:16 UTC (rev 119922)
@@ -0,0 +1,11 @@
+post_install() {
+    xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+    post_install
+}
+
+post_remove() {
+    post_install
+}



More information about the arch-commits mailing list