diff options
author | root <root@rshg054.dnsready.net> | 2011-08-12 23:14:35 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-08-12 23:14:35 +0000 |
commit | 3b2bf66355e8254bc2f033dab2dfea9e2978fa4d (patch) | |
tree | 71995991b30b0bfc7deb0c92f1da969bbfd91ec7 /community/parcellite | |
parent | eddbc98aa28d38b35833cfb1a4a3cf632c9f2b47 (diff) |
Fri Aug 12 23:14:35 UTC 2011
Diffstat (limited to 'community/parcellite')
-rw-r--r-- | community/parcellite/PKGBUILD | 11 | ||||
-rw-r--r-- | community/parcellite/history_menu_crash_patch | 39 |
2 files changed, 46 insertions, 4 deletions
diff --git a/community/parcellite/PKGBUILD b/community/parcellite/PKGBUILD index 2685f08d3..71b4f568b 100644 --- a/community/parcellite/PKGBUILD +++ b/community/parcellite/PKGBUILD @@ -1,21 +1,24 @@ -# $Id: PKGBUILD 53903 2011-08-09 19:26:51Z spupykin $ +# $Id: PKGBUILD 54009 2011-08-11 18:03:17Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Alexander Fehr <pizzapunk gmail com> pkgname=parcellite pkgver=1.0.2rc3 -pkgrel=1 +pkgrel=2 pkgdesc="Lightweight GTK+ clipboard manager" arch=('i686' 'x86_64') url="http://parcellite.sourceforge.net/" license=('GPL3') depends=('gtk2') makedepends=('intltool') -source=(http://downloads.sourceforge.net/parcellite/parcellite-$pkgver.tar.gz) -md5sums=('3fe1196cc2bb3f34d57d0e34e10449b3') +source=(http://downloads.sourceforge.net/parcellite/parcellite-$pkgver.tar.gz + history_menu_crash_patch) +md5sums=('3fe1196cc2bb3f34d57d0e34e10449b3' + '8fd6e07fa907865ca4db7b3e13441ce6') build() { cd "$srcdir/parcellite-$pkgver" + (cd src && patch -p0 <$srcdir/history_menu_crash_patch) ./configure --prefix=/usr --sysconfdir=/etc make make DESTDIR="$pkgdir" install diff --git a/community/parcellite/history_menu_crash_patch b/community/parcellite/history_menu_crash_patch new file mode 100644 index 000000000..961106839 --- /dev/null +++ b/community/parcellite/history_menu_crash_patch @@ -0,0 +1,39 @@ +Index: main.c +=================================================================== +--- main.c (revision 232) ++++ main.c (working copy) +@@ -1199,24 +1199,28 @@ + { + GString* string = g_string_new((gchar*)element->data); + /* Ellipsize text */ +- if (string->len > prefs.item_length) ++ glong len = g_utf8_strlen(string->str, string->len); ++ if (len > prefs.item_length) + { + switch (prefs.ellipsize) + { + case PANGO_ELLIPSIZE_START: +- string = g_string_erase(string, 0, string->len-(prefs.item_length)); ++ string = g_string_erase(string, 0, g_utf8_offset_to_pointer(string->str, len - prefs.item_length) - string->str); + string = g_string_prepend(string, "..."); + break; + case PANGO_ELLIPSIZE_MIDDLE: +- string = g_string_erase(string, (prefs.item_length/2), string->len-(prefs.item_length)); +- string = g_string_insert(string, (string->len/2), "..."); ++ ; /* to avoid wierd gcc error */ ++ gchar* p1 = g_utf8_offset_to_pointer(string->str, prefs.item_length / 2); ++ gchar* p2 = g_utf8_offset_to_pointer(string->str, len - prefs.item_length / 2); ++ string = g_string_erase(string, p1 - string->str, p2 - p1); ++ string = g_string_insert(string, p1 - string->str, "..."); + break; + case PANGO_ELLIPSIZE_END: +- string = g_string_truncate(string, prefs.item_length); ++ string = g_string_truncate(string, g_utf8_offset_to_pointer(string->str, prefs.item_length) - string->str); + string = g_string_append(string, "..."); + break; + } +- } ++ } + /* Remove control characters */ + gsize i = 0; + while (i < string->len) |