summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gryniewicz <dang@gentoo.org>2008-12-09 03:33:48 +0000
committerDaniel Gryniewicz <dang@gentoo.org>2008-12-09 03:33:48 +0000
commit98da6b33164545b0e449fc9ebf9a72b079cf2e90 (patch)
tree0f66d2a2f03527152aea5c38b582b5e07f299896 /x11-libs/vte/files
parent(non maintainer commit) 64 bit fix as presented in bug #188160. Thanks to Ren... (diff)
downloadhistorical-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.patch45
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 {