diff -Nru vte3-0.32.0/ChangeLog vte3-0.32.1/ChangeLog --- vte3-0.32.0/ChangeLog 2012-03-19 17:26:59.000000000 +0000 +++ vte3-0.32.1/ChangeLog 2012-04-16 17:16:59.000000000 +0000 @@ -1,3 +1,65 @@ +commit f0bdb48cd20ac2a07425a35b5f10c545a025f6c2 +Author: Christian Persch +Date: Mon Apr 16 19:11:08 2012 +0200 + + Version 0.32.1 + + NEWS | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +commit 4e79964afe6429f5e5846dbc6a3ebc264e34f1dd +Author: Anders Kaseorg +Date: Thu Feb 16 19:16:36 2012 -0500 + + emulation: Fix off-by-one error in interpretation of ECH (erase character) + + _vte_row_data_fill fills the row up to but *not including* len, so we + need to pass len = col + 1. + + https://bugzilla.gnome.org/show_bug.cgi?id=670037 + + Signed-off-by: Anders Kaseorg + + src/vteseq.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 6f1a9900af0d287b6a7289203936ded478702d98 +Author: Pavel Vasin +Date: Sat Mar 24 19:08:35 2012 +0400 + + _vte_draw_set_text_font(): fix PangoContext leak if font_info in cache + + Bug #672757. + + src/vtedraw.c | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +commit 3040f88a9e459f849e0cda4c9b6b3d5007d81a7e +Author: Christian Persch +Date: Fri Mar 23 02:17:25 2012 +0100 + + pty: Fix custom child setup function + + Fix passing a custom child setup to vte_terminal_fork_command_full(). + Before, it was impossible to actually make use of this, since there's + no way to get the VtePty to call vte_pty_child_setup() on. Now, just + store the extra child setup and call it from vte_pty_child_setup(). + + https://bugzilla.gnome.org/show_bug.cgi?id=672649 + + src/pty.c | 31 +++++++++++++++++++++++++------ + src/vte.c | 2 +- + 2 files changed, 26 insertions(+), 7 deletions(-) + +commit 722ab0c498a64121d92b4f48dd8e4ffc831b086f +Author: Christian Persch +Date: Mon Mar 19 18:29:25 2012 +0100 + + Post release version bump + + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + commit 9f091e1865220ac01c3c575291bec02a051882ea Author: Christian Persch Date: Mon Mar 19 18:22:16 2012 +0100 diff -Nru vte3-0.32.0/configure vte3-0.32.1/configure --- vte3-0.32.0/configure 2012-03-19 17:25:20.000000000 +0000 +++ vte3-0.32.1/configure 2012-03-27 12:46:02.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for vte 0.32.0. +# Generated by GNU Autoconf 2.68 for vte 0.32.1. # # Report bugs to . # @@ -571,8 +571,8 @@ # Identity of this package. PACKAGE_NAME='vte' PACKAGE_TARNAME='vte' -PACKAGE_VERSION='0.32.0' -PACKAGE_STRING='vte 0.32.0' +PACKAGE_VERSION='0.32.1' +PACKAGE_STRING='vte 0.32.1' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=vte' PACKAGE_URL='' @@ -1430,7 +1430,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures vte 0.32.0 to adapt to many kinds of systems. +\`configure' configures vte 0.32.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1500,7 +1500,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of vte 0.32.0:";; + short | recursive ) echo "Configuration of vte 0.32.1:";; esac cat <<\_ACEOF @@ -1634,7 +1634,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -vte configure 0.32.0 +vte configure 0.32.1 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2103,7 +2103,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by vte $as_me 0.32.0, which was +It was created by vte $as_me 0.32.1, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2923,7 +2923,7 @@ # Define the identity of the package. PACKAGE='vte' - VERSION='0.32.0' + VERSION='0.32.1' cat >>confdefs.h <<_ACEOF @@ -3012,7 +3012,7 @@ -LT_VERSION_INFO="3209:0:3200" +LT_VERSION_INFO="3209:1:3200" ################################################################################ @@ -15002,7 +15002,7 @@ VTE_MINOR_VERSION=32 -VTE_MICRO_VERSION=0 +VTE_MICRO_VERSION=1 AM_CPPFLAGS="$AM_CPPFLAGS -DGLIB_DISABLE_DEPRECATION_WARNINGS" @@ -15602,7 +15602,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by vte $as_me 0.32.0, which was +This file was extended by vte $as_me 0.32.1, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15668,7 +15668,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -vte config.status 0.32.0 +vte config.status 0.32.1 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -Nru vte3-0.32.0/configure.in vte3-0.32.1/configure.in --- vte3-0.32.0/configure.in 2012-03-19 17:25:08.000000000 +0000 +++ vte3-0.32.1/configure.in 2012-03-27 12:20:54.000000000 +0000 @@ -1,6 +1,6 @@ m4_define([version_major],0) m4_define([version_minor],32) -m4_define([version_micro],0) +m4_define([version_micro],1) m4_define([version_triplet],version_major.version_minor.version_micro) m4_define([so_major_adjust],9) dnl Don't change! diff -Nru vte3-0.32.0/debian/changelog vte3-0.32.1/debian/changelog --- vte3-0.32.0/debian/changelog 2012-03-21 17:32:53.000000000 +0000 +++ vte3-0.32.1/debian/changelog 2012-04-17 06:05:48.000000000 +0000 @@ -1,3 +1,12 @@ +vte3 (1:0.32.1-0ubuntu1) precise-proposed; urgency=low + + * New upstream release: + - pty: Fix custom child setup function + - leak fix in vte_draw_set_text_font() + - emulation: Fix off-by-one error in interpretation of ECH + + -- Robert Ancell Tue, 17 Apr 2012 14:54:10 +1000 + vte3 (1:0.32.0-1ubuntu2) precise; urgency=low * debian/control.in: Bump Breaks/Replaces: of -dev to the Ubuntu version diff -Nru vte3-0.32.0/debian/patches/01_scroll_notebook.patch vte3-0.32.1/debian/patches/01_scroll_notebook.patch --- vte3-0.32.0/debian/patches/01_scroll_notebook.patch 2012-03-21 17:32:53.000000000 +0000 +++ vte3-0.32.1/debian/patches/01_scroll_notebook.patch 2012-04-17 06:05:48.000000000 +0000 @@ -4,11 +4,11 @@ Corresponding GTK+ bug: GNOME #145244 -Index: vte-0.28.0/src/vte.c +Index: vte-0.32.1/src/vte.c =================================================================== ---- vte-0.28.0.orig/src/vte.c 2011-06-05 01:48:33.224480856 +0200 -+++ vte-0.28.0/src/vte.c 2011-06-05 01:59:00.267546314 +0200 -@@ -11361,6 +11361,13 @@ vte_terminal_scroll(GtkWidget *widget, G +--- vte-0.32.1.orig/src/vte.c 2012-03-27 23:20:54.000000000 +1100 ++++ vte-0.32.1/src/vte.c 2012-04-17 14:58:07.456397542 +1000 +@@ -11380,6 +11380,13 @@ vte_terminal_read_modifiers (terminal, (GdkEvent*) event); diff -Nru vte3-0.32.0/debian/patches/91_keep_fds.patch vte3-0.32.1/debian/patches/91_keep_fds.patch --- vte3-0.32.0/debian/patches/91_keep_fds.patch 2012-03-21 17:32:53.000000000 +0000 +++ vte3-0.32.1/debian/patches/91_keep_fds.patch 2012-04-17 06:05:48.000000000 +0000 @@ -1,19 +1,19 @@ Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=320128 Description: Keep file descriptors open on vte_fork_pty(). -Index: vte-0.26.2/src/pty.c +Index: vte-0.32.1/src/pty.c =================================================================== ---- vte-0.26.2.orig/src/pty.c 2010-10-19 00:58:58.000000000 +1100 -+++ vte-0.26.2/src/pty.c 2010-11-24 17:30:31.825693001 +1100 -@@ -192,6 +192,7 @@ - const char *name; - int fd; - } tty; +--- vte-0.32.1.orig/src/pty.c 2012-04-17 14:57:30.752398811 +1000 ++++ vte-0.32.1/src/pty.c 2012-04-17 14:58:14.100397312 +1000 +@@ -204,6 +204,7 @@ + + GSpawnChildSetupFunc extra_child_setup; + gpointer extra_child_setup_data; + int keep_fd; } VtePtyChildSetupData; /** -@@ -332,6 +333,20 @@ +@@ -344,6 +345,20 @@ close(fd); } @@ -34,7 +34,7 @@ /* Reset our signals -- our parent may have done any number of * weird things to them. */ _vte_pty_reset_signal_handlers(); -@@ -440,6 +455,23 @@ +@@ -457,6 +472,23 @@ return (gchar **) g_ptr_array_free (array, FALSE); } @@ -58,7 +58,7 @@ /* * __vte_pty_get_pty_flags: * @lastlog: %TRUE if the session should be logged to the lastlog -@@ -523,6 +555,10 @@ +@@ -542,6 +574,10 @@ /* add the given environment to the childs */ envp2 = __vte_pty_merge_environ (envv, pty->priv->term); diff -Nru vte3-0.32.0/debian/patches/93_add_alt_screen_scroll_toggle.patch vte3-0.32.1/debian/patches/93_add_alt_screen_scroll_toggle.patch --- vte3-0.32.0/debian/patches/93_add_alt_screen_scroll_toggle.patch 2012-03-21 17:32:53.000000000 +0000 +++ vte3-0.32.1/debian/patches/93_add_alt_screen_scroll_toggle.patch 2012-04-17 06:05:48.000000000 +0000 @@ -3,11 +3,11 @@ Description: Handle scrolling differently when using alternate screen or scrolling is restricted. -Index: vte-0.28.0/src/vte.c +Index: vte-0.32.1/src/vte.c =================================================================== ---- vte-0.28.0.orig/src/vte.c 2011-02-16 20:42:09.000000000 +0100 -+++ vte-0.28.0/src/vte.c 2011-05-17 12:18:16.676757671 +0200 -@@ -11409,8 +11409,9 @@ +--- vte-0.32.1.orig/src/vte.c 2012-04-17 14:58:11.740397393 +1000 ++++ vte-0.32.1/src/vte.c 2012-04-17 14:58:15.596397260 +1000 +@@ -11452,8 +11452,9 @@ return FALSE; } @@ -19,7 +19,7 @@ char *normal; gssize normal_length; const gchar *special; -@@ -13063,6 +13064,22 @@ +@@ -13117,6 +13118,22 @@ g_object_notify (G_OBJECT (terminal), "scroll-on-keystroke"); } @@ -42,10 +42,10 @@ static void vte_terminal_real_copy_clipboard(VteTerminal *terminal) { -Index: vte-0.28.0/src/vte.h +Index: vte-0.32.1/src/vte.h =================================================================== ---- vte-0.28.0.orig/src/vte.h 2011-02-16 20:27:16.000000000 +0100 -+++ vte-0.28.0/src/vte.h 2011-05-17 12:18:16.676757671 +0200 +--- vte-0.32.1.orig/src/vte.h 2012-03-27 23:20:54.000000000 +1100 ++++ vte-0.32.1/src/vte.h 2012-04-17 14:58:15.600397260 +1000 @@ -310,6 +310,8 @@ void vte_terminal_set_scroll_on_output(VteTerminal *terminal, gboolean scroll); void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal, @@ -55,10 +55,10 @@ /* Set the color scheme. */ void vte_terminal_set_color_dim(VteTerminal *terminal, -Index: vte-0.28.0/src/vte-private.h +Index: vte-0.32.1/src/vte-private.h =================================================================== ---- vte-0.28.0.orig/src/vte-private.h 2011-02-03 20:29:32.000000000 +0100 -+++ vte-0.28.0/src/vte-private.h 2011-05-17 12:18:16.676757671 +0200 +--- vte-0.32.1.orig/src/vte-private.h 2012-03-27 23:20:54.000000000 +1100 ++++ vte-0.32.1/src/vte-private.h 2012-04-17 14:58:15.600397260 +1000 @@ -280,6 +280,7 @@ gboolean scroll_on_output; gboolean scroll_on_keystroke; diff -Nru vte3-0.32.0/doc/reference/html/index.html vte3-0.32.1/doc/reference/html/index.html --- vte3-0.32.0/doc/reference/html/index.html 2012-03-19 17:27:00.000000000 +0000 +++ vte3-0.32.1/doc/reference/html/index.html 2012-04-16 17:17:01.000000000 +0000 @@ -15,7 +15,7 @@

- Documentation for VTE version 0.32.0 + Documentation for VTE version 0.32.1 . The latest version of this documentation can be found on-line at the GNOME Library. diff -Nru vte3-0.32.0/doc/reference/html/VteTerminal.html vte3-0.32.1/doc/reference/html/VteTerminal.html --- vte3-0.32.0/doc/reference/html/VteTerminal.html 2012-03-19 17:27:00.000000000 +0000 +++ vte3-0.32.1/doc/reference/html/VteTerminal.html 2012-04-16 17:17:01.000000000 +0000 @@ -3318,7 +3318,7 @@

child_setup :

-function to run in the child just before exec(), or NULL. [allow-none][scope call] +an extra child setup function to run in the child just before exec(), or NULL. [allow-none][scope call] diff -Nru vte3-0.32.0/doc/reference/html/vte-Version-Information.html vte3-0.32.1/doc/reference/html/vte-Version-Information.html --- vte3-0.32.0/doc/reference/html/vte-Version-Information.html 2012-03-19 17:27:00.000000000 +0000 +++ vte3-0.32.1/doc/reference/html/vte-Version-Information.html 2012-04-16 17:17:01.000000000 +0000 @@ -78,7 +78,7 @@

VTE_MICRO_VERSION

-
#define VTE_MICRO_VERSION (0)
+
#define VTE_MICRO_VERSION (1)
 

The micro version number of the VTE library diff -Nru vte3-0.32.0/doc/reference/html/vte-Vte-PTY.html vte3-0.32.1/doc/reference/html/vte-Vte-PTY.html --- vte3-0.32.0/doc/reference/html/vte-Vte-PTY.html 2012-03-19 17:27:00.000000000 +0000 +++ vte3-0.32.1/doc/reference/html/vte-Vte-PTY.html 2012-04-16 17:17:01.000000000 +0000 @@ -207,6 +207,13 @@ If using g_spawn_async() and friends, you MUST either use vte_pty_child_setup() directly as the child setup function, or call vte_pty_child_setup() from your own child setup function supplied. +

+

+When using vte_terminal_fork_command_full() with a custom child setup +function, vte_pty_child_setup() will be called before the supplied +function; you must not call it again. +

+

Also, you MUST pass the G_SPAWN_DO_NOT_REAP_CHILD flag.

diff -Nru vte3-0.32.0/doc/reference/version.xml vte3-0.32.1/doc/reference/version.xml --- vte3-0.32.0/doc/reference/version.xml 2012-03-19 17:25:30.000000000 +0000 +++ vte3-0.32.1/doc/reference/version.xml 2012-03-27 12:46:20.000000000 +0000 @@ -1 +1 @@ -0.32.0 +0.32.1 diff -Nru vte3-0.32.0/NEWS vte3-0.32.1/NEWS --- vte3-0.32.0/NEWS 2012-03-19 17:22:01.000000000 +0000 +++ vte3-0.32.1/NEWS 2012-04-16 17:10:52.000000000 +0000 @@ -1,3 +1,9 @@ +0.32.1 +====== +- pty: Fix custom child setup function (#672649) +- leak fix in vte_draw_set_text_font() (#672757) +- emulation: Fix off-by-one error in interpretation of ECH (#670037) + 0.32.0 ====== - Use GResource for our default termcap diff -Nru vte3-0.32.0/src/pty.c vte3-0.32.1/src/pty.c --- vte3-0.32.0/src/pty.c 2012-03-10 15:55:12.000000000 +0000 +++ vte3-0.32.1/src/pty.c 2012-03-27 12:20:54.000000000 +0000 @@ -201,6 +201,9 @@ const char *name; int fd; } tty; + + GSpawnChildSetupFunc extra_child_setup; + gpointer extra_child_setup_data; } VtePtyChildSetupData; /** @@ -349,6 +352,11 @@ if (priv->term != NULL) { g_setenv("TERM", priv->term, TRUE); } + + /* Finally call an extra child setup */ + if (data->extra_child_setup) { + data->extra_child_setup (data->extra_child_setup_data); + } } /* TODO: clean up the spawning @@ -517,6 +525,8 @@ GPid *child_pid /* out */, GError **error) { + VtePtyPrivate *priv = pty->priv; + VtePtyChildSetupData *data = &priv->child_setup_data; gboolean ret = TRUE; char **envp2; gint i; @@ -544,12 +554,14 @@ directory ? directory : "(none)"); } + data->extra_child_setup = child_setup; + data->extra_child_setup_data = child_setup_data; + ret = g_spawn_async_with_pipes(directory, argv, envp2, spawn_flags, - child_setup ? child_setup - : (GSpawnChildSetupFunc) vte_pty_child_setup, - child_setup ? child_setup_data : pty, + (GSpawnChildSetupFunc) vte_pty_child_setup, + pty, child_pid, NULL, NULL, NULL, &err); @@ -561,9 +573,8 @@ ret = g_spawn_async_with_pipes(NULL, argv, envp2, spawn_flags, - child_setup ? child_setup - : (GSpawnChildSetupFunc) vte_pty_child_setup, - child_setup ? child_setup_data : pty, + (GSpawnChildSetupFunc) vte_pty_child_setup, + pty, child_pid, NULL, NULL, NULL, &err); @@ -571,6 +582,9 @@ g_strfreev (envp2); + data->extra_child_setup = NULL; + data->extra_child_setup_data = NULL; + if (ret) return TRUE; @@ -1789,6 +1803,11 @@ * If using g_spawn_async() and friends, you MUST either use * vte_pty_child_setup() directly as the child setup function, or call * vte_pty_child_setup() from your own child setup function supplied. + * + * When using vte_terminal_fork_command_full() with a custom child setup + * function, vte_pty_child_setup() will be called before the supplied + * function; you must not call it again. + * * Also, you MUST pass the %G_SPAWN_DO_NOT_REAP_CHILD flag. * * If GNOME PTY Helper is available and diff -Nru vte3-0.32.0/src/vte.c vte3-0.32.1/src/vte.c --- vte3-0.32.0/src/vte.c 2012-03-10 15:55:12.000000000 +0000 +++ vte3-0.32.1/src/vte.c 2012-03-27 12:20:54.000000000 +0000 @@ -3837,7 +3837,7 @@ * @envv: (allow-none) (array zero-terminated=1) (element-type filename): a list of environment * variables to be added to the environment before starting the process, or %NULL * @spawn_flags: flags from #GSpawnFlags - * @child_setup: (allow-none) (scope call): function to run in the child just before exec(), or %NULL + * @child_setup: (allow-none) (scope call): an extra child setup function to run in the child just before exec(), or %NULL * @child_setup_data: user data for @child_setup * @child_pid: (out) (allow-none) (transfer full): a location to store the child PID, or %NULL * @error: (allow-none): return location for a #GError, or %NULL diff -Nru vte3-0.32.0/src/vtedraw.c vte3-0.32.1/src/vtedraw.c --- vte3-0.32.0/src/vtedraw.c 2012-03-10 15:55:12.000000000 +0000 +++ vte3-0.32.1/src/vtedraw.c 2012-03-27 12:20:54.000000000 +0000 @@ -570,13 +570,13 @@ _vte_debug_print (VTE_DEBUG_PANGOCAIRO, "vtepangocairo: %p found font_info in cache\n", info); - return font_info_reference (info); + info = font_info_reference (info); + } else { + info = font_info_allocate (context); + info->ref_count = 1; + font_info_register (info); } - info = font_info_allocate (context); - info->ref_count = 1; - font_info_register (info); - g_object_unref (context); return info; diff -Nru vte3-0.32.0/src/vteseq.c vte3-0.32.1/src/vteseq.c --- vte3-0.32.0/src/vteseq.c 2012-03-10 15:55:12.000000000 +0000 +++ vte3-0.32.1/src/vteseq.c 2012-03-27 12:55:38.000000000 +0000 @@ -1523,7 +1523,7 @@ *cell = screen->color_defaults; } else { /* Add new cells until we have one here. */ - _vte_row_data_fill (rowdata, &screen->color_defaults, col); + _vte_row_data_fill (rowdata, &screen->color_defaults, col + 1); } } } diff -Nru vte3-0.32.0/src/vteversion.h vte3-0.32.1/src/vteversion.h --- vte3-0.32.0/src/vteversion.h 2012-03-19 17:25:30.000000000 +0000 +++ vte3-0.32.1/src/vteversion.h 2012-03-27 12:46:20.000000000 +0000 @@ -60,7 +60,7 @@ * * Since: 0.16.15 */ -#define VTE_MICRO_VERSION (0) +#define VTE_MICRO_VERSION (1) /** * VTE_CHECK_VERSION: