diff options
author | 2008-12-09 03:33:48 +0000 | |
---|---|---|
committer | 2008-12-09 03:33:48 +0000 | |
commit | 98da6b33164545b0e449fc9ebf9a72b079cf2e90 (patch) | |
tree | 0f66d2a2f03527152aea5c38b582b5e07f299896 /x11-libs/vte/files | |
parent | (non maintainer commit) 64 bit fix as presented in bug #188160. Thanks to Ren... (diff) | |
download | historical-98da6b33164545b0e449fc9ebf9a72b079cf2e90.tar.gz historical-98da6b33164545b0e449fc9ebf9a72b079cf2e90.tar.bz2 historical-98da6b33164545b0e449fc9ebf9a72b079cf2e90.zip |
Fix ascii null backspace in screen. bug #249618
Package-Manager: portage-2.2_rc17/cvs/Linux 2.6.27-gentoo-r4 x86_64
Diffstat (limited to 'x11-libs/vte/files')
-rw-r--r-- | x11-libs/vte/files/vte-0.17.4-no-null-backspace.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/x11-libs/vte/files/vte-0.17.4-no-null-backspace.patch b/x11-libs/vte/files/vte-0.17.4-no-null-backspace.patch new file mode 100644 index 000000000000..734e7b530ce4 --- /dev/null +++ b/x11-libs/vte/files/vte-0.17.4-no-null-backspace.patch @@ -0,0 +1,45 @@ +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN vte-0.17.4.orig/src/vte.c vte-0.17.4/src/vte.c +--- vte-0.17.4.orig/src/vte.c 2008-09-08 15:48:31.000000000 -0400 ++++ vte-0.17.4/src/vte.c 2008-12-08 22:22:38.000000000 -0500 +@@ -4636,6 +4636,7 @@ vte_terminal_key_press(GtkWidget *widget + + /* Now figure out what to send to the child. */ + if ((event->type == GDK_KEY_PRESS) && !modifier) { ++ cc_t erase = VTE_VDISABLE; + handled = FALSE; + /* Map the key to a sequence name if we can. */ + switch (keyval) { +@@ -4661,11 +4662,15 @@ vte_terminal_key_press(GtkWidget *widget + if (terminal->pvt->pty_master != -1) { + if (tcgetattr(terminal->pvt->pty_master, + &tio) != -1) { +- normal = g_strdup_printf("%c", +- tio.c_cc[VERASE]); + normal_length = 1; ++ erase = tio.c_cc[VERASE]; + } + } ++ if (erase == VTE_VDISABLE) ++ normal = g_strdup(""); /* Fallback value. */ ++ else ++ normal = g_strdup_printf("%c", erase); ++ normal_length = 1; + suppress_meta_esc = FALSE; + break; + } +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN vte-0.17.4.orig/src/vte-private.h vte-0.17.4/src/vte-private.h +--- vte-0.17.4.orig/src/vte-private.h 2008-09-08 15:48:31.000000000 -0400 ++++ vte-0.17.4/src/vte-private.h 2008-12-08 22:22:38.000000000 -0500 +@@ -91,6 +91,12 @@ G_BEGIN_DECLS + #define VTE_MAX_PROCESS_TIME 100 + #define VTE_CELL_BBOX_SLACK 1 + ++#ifdef _POSIX_VDISABLE /* From unistd.h */ ++#define VTE_VDISABLE _POSIX_VDISABLE ++#else ++#define VTE_VDISABLE '\0' ++#endif ++ + /* The structure we use to hold characters we're supposed to display -- this + * includes any supported visible attributes. */ + struct vte_charcell { |