diff options
-rw-r--r-- | libre/mc/0001-Ticket-3639-fix-window-resizing-when-panels-are-hidd.patch | 26 | ||||
-rw-r--r-- | libre/mc/0002-Do-not-botch-SIGWINCH-delivery-to-the-subshell.patch | 68 | ||||
-rw-r--r-- | libre/mc/PKGBUILD | 11 |
3 files changed, 102 insertions, 3 deletions
diff --git a/libre/mc/0001-Ticket-3639-fix-window-resizing-when-panels-are-hidd.patch b/libre/mc/0001-Ticket-3639-fix-window-resizing-when-panels-are-hidd.patch new file mode 100644 index 000000000..c711ee55d --- /dev/null +++ b/libre/mc/0001-Ticket-3639-fix-window-resizing-when-panels-are-hidd.patch @@ -0,0 +1,26 @@ +From 52871230a295311c286bb92feddc469e3ece11d6 Mon Sep 17 00:00:00 2001 +From: Andrew Borodin <aborodin@vmail.ru> +Date: Mon, 13 Jun 2016 09:21:15 +0300 +Subject: [PATCH 1/2] Ticket #3639: fix window resizing when panels are hidden. + +This reverts commit f278eaec99320874b112b37d9925d78d964f5d37. +--- + src/subshell/common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/subshell/common.c b/src/subshell/common.c +index 6667b6e..98968fa 100644 +--- a/src/subshell/common.c ++++ b/src/subshell/common.c +@@ -531,7 +531,7 @@ feed_subshell (int how, gboolean fail_on_error) + /* Despite using SA_RESTART, we still have to check for this */ + if (errno == EINTR) + { +- if (how == QUIETLY && mc_global.tty.winch_flag != 0) ++ if (mc_global.tty.winch_flag != 0) + tty_change_screen_size (); + + continue; /* try all over again */ +-- +2.10.0 + diff --git a/libre/mc/0002-Do-not-botch-SIGWINCH-delivery-to-the-subshell.patch b/libre/mc/0002-Do-not-botch-SIGWINCH-delivery-to-the-subshell.patch new file mode 100644 index 000000000..ea4f21116 --- /dev/null +++ b/libre/mc/0002-Do-not-botch-SIGWINCH-delivery-to-the-subshell.patch @@ -0,0 +1,68 @@ +From 968882335abb18e69be39dc4fd444f78f0a14a0f Mon Sep 17 00:00:00 2001 +From: Yuri Khan <yurivkhan@gmail.com> +Date: Mon, 9 May 2016 18:04:21 +0600 +Subject: [PATCH 2/2] Do not botch SIGWINCH delivery to the subshell. + +Signed-off-by: Andrew Borodin <aborodin@vmail.ru> +--- + lib/tty/tty-slang.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/lib/tty/tty-slang.c b/lib/tty/tty-slang.c +index 143a6d3..87e4a70 100644 +--- a/lib/tty/tty-slang.c ++++ b/lib/tty/tty-slang.c +@@ -83,6 +83,8 @@ static struct termios new_mode; + /* Controls whether we should wait for input in tty_lowlevel_getch */ + static gboolean no_slang_delay; + ++static gboolean slsmg_active = FALSE; ++ + /* This table describes which capabilities we want and which values we + * assign to them. + */ +@@ -329,6 +331,7 @@ tty_init (gboolean mouse_enable, gboolean is_xterm) + tty_display_8bit (FALSE); + + SLsmg_init_smg (); ++ slsmg_active = TRUE; + if (!mouse_enable) + use_mouse_p = MOUSE_DISABLED; + tty_init_xterm_support (is_xterm); /* do it before tty_enter_ca_mode() call */ +@@ -354,6 +357,7 @@ tty_shutdown (void) + tty_reset_screen (); + tty_exit_ca_mode (); + SLang_reset_tty (); ++ slsmg_active = FALSE; + + /* Load the op capability to reset the colors to those that were + * active when the program was started up +@@ -388,7 +392,8 @@ void + tty_change_screen_size (void) + { + SLtt_get_screen_size (); +- SLsmg_reinit_smg (); ++ if (slsmg_active) ++ SLsmg_reinit_smg (); + + #ifdef ENABLE_SUBSHELL + if (mc_global.tty.use_subshell) +@@ -404,6 +409,7 @@ tty_reset_prog_mode (void) + { + tcsetattr (SLang_TT_Read_FD, TCSANOW, &new_mode); + SLsmg_init_smg (); ++ slsmg_active = TRUE; + SLsmg_touch_lines (0, LINES); + } + +@@ -504,6 +510,7 @@ int + tty_reset_screen (void) + { + SLsmg_reset_smg (); ++ slsmg_active = FALSE; + return 0; /* OK */ + } + +-- +2.10.0 + diff --git a/libre/mc/PKGBUILD b/libre/mc/PKGBUILD index 0ab63d0ac..d30c644c3 100644 --- a/libre/mc/PKGBUILD +++ b/libre/mc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 174449 2016-05-09 17:51:10Z schuay $ +# $Id: PKGBUILD 190233 2016-09-24 07:17:41Z schuay $ # Maintainer (Arch): schuay <jakob.gruber@gmail.com> # Contributor (Arch): Daniel J Griffiths <ghost1227@archlinux.us> # Maintainer: André Silva <emulatorman@parabola.nu> @@ -6,7 +6,7 @@ pkgname=mc pkgver=4.8.17 -pkgrel=1.parabola1 +pkgrel=2.parabola1 pkgdesc="Midnight Commander is a text based filemanager/shell that emulates Norton Commander, with arj recommendation included and nonfree unace and unrar support removed" arch=('i686' 'x86_64' 'armv7h') url="http://www.ibiblio.org/mc/" @@ -38,18 +38,23 @@ backup=('etc/mc/edit.indent.rc' 'etc/mc/sfs.ini') options=('!emptydirs') source=("http://ftp.midnight-commander.org/${pkgname}-${pkgver}.tar.xz" + "0001-Ticket-3639-fix-window-resizing-when-panels-are-hidd.patch" + "0002-Do-not-botch-SIGWINCH-delivery-to-the-subshell.patch" 'libre.patch') sha256sums=('0447bdddc0baa81866e66f50f9a545d29d6eebb68b0ab46c98d8fddd2bf4e44d' + '9a3639ff068dfddee0342d631b56d8df6c0240105802fb00edb0fa3a265e95d6' + '2a5ab735226ce41b0ebbb4bcedb0e04e82ea3cb14e2776acede1e58816f3d787' 'a72558445fd1558e18d0fb0be767f4460d04130e80cd87ad84b376fab1b66357') prepare() { cd ${pkgname}-${pkgver} + patch -Np1 < ${srcdir}/0001-Ticket-3639-fix-window-resizing-when-panels-are-hidd.patch + patch -Np1 < ${srcdir}/0002-Do-not-botch-SIGWINCH-delivery-to-the-subshell.patch patch -Np1 -i ../libre.patch rm -v src/vfs/extfs/helpers/u{ace,rar}.in } - build() { export PYTHON=/usr/bin/python2 |