diff options
author | marcus <marcus@FreeBSD.org> | 2003-04-04 15:25:58 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2003-04-04 15:25:58 +0800 |
commit | f5d23fe0a6329b455f9597da81f1324c61abc695 (patch) | |
tree | ac0045639d71b3f0af442415524f1fd034dbcf8d /x11-toolkits | |
parent | bf08b0b78433ebbad538bda52124c3b2f812f9a2 (diff) | |
download | freebsd-ports-gnome-f5d23fe0a6329b455f9597da81f1324c61abc695.tar.gz freebsd-ports-gnome-f5d23fe0a6329b455f9597da81f1324c61abc695.tar.zst freebsd-ports-gnome-f5d23fe0a6329b455f9597da81f1324c61abc695.zip |
Fix a bug in vte where the terminal would lock up sometimes when doing long
ls's or viewing scripts in /usr/bin/dialog.
Tested by: Mezz bsdforums.org <reigncracks@hotmail.com>
Diffstat (limited to 'x11-toolkits')
-rw-r--r-- | x11-toolkits/vte/Makefile | 1 | ||||
-rw-r--r-- | x11-toolkits/vte/files/patch-src_vte.c | 61 |
2 files changed, 16 insertions, 46 deletions
diff --git a/x11-toolkits/vte/Makefile b/x11-toolkits/vte/Makefile index c2744741348f..ac5380b76c08 100644 --- a/x11-toolkits/vte/Makefile +++ b/x11-toolkits/vte/Makefile @@ -7,6 +7,7 @@ PORTNAME= vte PORTVERSION= 0.10.26 +PORTREVISION= 1 CATEGORIES= x11-toolkits gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/${PORTNAME}/0.10 diff --git a/x11-toolkits/vte/files/patch-src_vte.c b/x11-toolkits/vte/files/patch-src_vte.c index 5b10c2da6f4c..e7f01d030686 100644 --- a/x11-toolkits/vte/files/patch-src_vte.c +++ b/x11-toolkits/vte/files/patch-src_vte.c @@ -1,51 +1,20 @@ ---- src/vte.c.orig Sat Oct 5 21:26:51 2002 -+++ src/vte.c Sat Oct 5 21:27:06 2002 -@@ -472,48 +472,7 @@ +--- src/vte.c.orig Tue Mar 4 14:25:26 2003 ++++ src/vte.c Wed Mar 26 01:42:42 2003 +@@ -547,7 +547,7 @@ static wchar_t vte_wc_from_unichar(VteTerminal *terminal, gunichar c) { -#ifdef __STDC_ISO_10646__ ++#if defined(__STDC_ISO_10646__) || (defined(__FreeBSD__) && __FreeBSD_version < 500000) return (wchar_t) c; --#else -- gpointer original, result; -- char *local, utf8_buf[VTE_UTF8_BPC]; -- const char *localr; -- wchar_t wc_buf[VTE_UTF8_BPC]; -- int ret; -- gsize length, bytes_read, bytes_written; -- mbstate_t state; -- GError *error = NULL; -- /* Check the cache. */ -- if (g_tree_lookup_extended(terminal->pvt->unichar_wc_map, -- GINT_TO_POINTER(c), -- &original, -- &result)) { -- return GPOINTER_TO_INT(c); -- } -- /* Convert the character to a locally-encoded mbs. */ -- length = g_unichar_to_utf8(c, utf8_buf); -- local = g_locale_from_utf8(utf8_buf, length, -- &bytes_read, &bytes_written, &error); -- if (error == NULL) { -- /* Convert from an mbs to a (single-character) wcs. */ -- memset(&state, 0, sizeof(state)); -- localr = local; -- ret = mbsrtowcs(wc_buf, &localr, bytes_written, &state); -- if (ret == 1) { -- g_tree_insert(terminal->pvt->unichar_wc_map, -- GINT_TO_POINTER(c), -- GINT_TO_POINTER(wc_buf[0])); -- return wc_buf[0]; -- } -- } -- /* Punt. */ -- if (error != NULL) { -- g_printerr("g_locale_from_utf8(%d): %s", error->code, -- error->message); -- g_error_free(error); -- } -- return (wchar_t) c; --#endif - } - - #ifdef VTE_PREFER_PANGOX + #else + gpointer original, result; +@@ -7320,7 +7320,7 @@ + if (condition & G_IO_IN) { + bcount = sizeof(buf) - + _vte_buffer_length(terminal->pvt->incoming); +- bcount = read(fd, buf, MAX(bcount, sizeof(buf) / 2)); ++ bcount = read(fd, buf, MAX(bcount, (int)(sizeof(buf) / 2))); + } + eof = FALSE; + if (condition & G_IO_HUP) { |