diff options
author | vanilla <vanilla@FreeBSD.org> | 2006-09-25 08:29:18 +0000 |
---|---|---|
committer | vanilla <vanilla@FreeBSD.org> | 2006-09-25 08:29:18 +0000 |
commit | 7b2ce92409d1d4ee0fbd4cb292965d0c01fbd19a (patch) | |
tree | d71a0ea4b95b2de86867d8c5b192f2fe999838f6 /irc | |
parent | 35820f2a6266ccacb1e483c69c959d65256a4c8b (diff) | |
download | FreeBSD-ports-7b2ce92409d1d4ee0fbd4cb292965d0c01fbd19a.zip FreeBSD-ports-7b2ce92409d1d4ee0fbd4cb292965d0c01fbd19a.tar.gz |
When irssi displays a overlong topic with wide (width > 1) character on the
display margin, it will truncate AFTER that character. That is, the whole wide
character is outputted and mess up the screen.
This patch fixes the problem by truncating BEFORE wide characters that fall
on the display margin.
PR: ports/103597
Submitted by: Yi-Hsuan Hsin <mhsin_at_mhsin_dot_org>
Diffstat (limited to 'irc')
-rw-r--r-- | irc/irssi/Makefile | 2 | ||||
-rw-r--r-- | irc/irssi/files/patch-topic_length | 41 |
2 files changed, 42 insertions, 1 deletions
diff --git a/irc/irssi/Makefile b/irc/irssi/Makefile index 5f19320..9401141 100644 --- a/irc/irssi/Makefile +++ b/irc/irssi/Makefile @@ -7,7 +7,7 @@ PORTNAME= irssi PORTVERSION= 0.8.10 -PORTREVISION?= 2 +PORTREVISION?= 3 CATEGORIES?= irc MASTER_SITES= http://mirror.irssi.org/ diff --git a/irc/irssi/files/patch-topic_length b/irc/irssi/files/patch-topic_length new file mode 100644 index 0000000..22d3785 --- /dev/null +++ b/irc/irssi/files/patch-topic_length @@ -0,0 +1,41 @@ +--- src/fe-common/core/formats.c.orig Fri Dec 9 01:32:44 2005 ++++ src/fe-common/core/formats.c Mon Sep 25 06:15:26 2006 +@@ -376,6 +376,7 @@ + GString *tmp; + const char *start; + #ifdef HAVE_GLIB2 ++ const char *oldstr; + gboolean utf8; + #endif + g_return_val_if_fail(str != NULL, 0); +@@ -404,7 +405,10 @@ + } + + #ifdef HAVE_GLIB2 ++ oldstr = str; + len -= advance(&str, utf8); ++ if(len < 0) ++ str = oldstr; + #else + len--; + str++; +--- src/fe-text/statusbar.c.orig Fri Dec 9 01:32:46 2005 ++++ src/fe-text/statusbar.c Mon Sep 25 10:15:25 2006 +@@ -732,7 +732,8 @@ + /* they're forcing us smaller than minimum size.. */ + len = format_real_length(tmpstr, item->size); + tmpstr[len] = '\0'; +- } else { ++ } ++ + /* make sure the str is big enough to fill the + requested size, so it won't corrupt screen */ + len = format_get_length(tmpstr); +@@ -747,7 +748,6 @@ + g_free(fill); + g_free(tmpstr); + tmpstr = tmpstr2; +- } + } + + tmpstr2 = update_statusbar_bg(tmpstr, item->bar->color); |