diff options
author | fjoe <fjoe@FreeBSD.org> | 2010-10-20 21:46:01 +0800 |
---|---|---|
committer | fjoe <fjoe@FreeBSD.org> | 2010-10-20 21:46:01 +0800 |
commit | 8e57b88a996070301bd6fb59576cb7a00c104b76 (patch) | |
tree | 006b22448cc837ba1bfe3ac0f506b07d53f8b292 /misc/mc | |
parent | 68c3972e21e04877444fb33a3a1cc4ab4258cee1 (diff) | |
download | freebsd-ports-gnome-8e57b88a996070301bd6fb59576cb7a00c104b76.tar.gz freebsd-ports-gnome-8e57b88a996070301bd6fb59576cb7a00c104b76.tar.zst freebsd-ports-gnome-8e57b88a996070301bd6fb59576cb7a00c104b76.zip |
Fix hangs when exiting with "F10, Enter" if shell is tcsh:
http://www.midnight-commander.org/changeset/cde7a850d5d0027956f3c7005e81cfa8cc7a56a1
Submitted by: Ilya A. Arhipov
Diffstat (limited to 'misc/mc')
-rw-r--r-- | misc/mc/Makefile | 2 | ||||
-rw-r--r-- | misc/mc/files/patch-src-dialog.c | 58 |
2 files changed, 59 insertions, 1 deletions
diff --git a/misc/mc/Makefile b/misc/mc/Makefile index 6dd26e6a81d0..0154304649dd 100644 --- a/misc/mc/Makefile +++ b/misc/mc/Makefile @@ -7,7 +7,7 @@ PORTNAME= mc PORTVERSION= 4.7.4 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= misc shells MASTER_SITES= http://www.midnight-commander.org/downloads/ \ ${MASTER_SITE_SUNSITE} diff --git a/misc/mc/files/patch-src-dialog.c b/misc/mc/files/patch-src-dialog.c new file mode 100644 index 000000000000..55d276ee66e9 --- /dev/null +++ b/misc/mc/files/patch-src-dialog.c @@ -0,0 +1,58 @@ +--- src/dialog.c.orig 2010-10-20 20:19:09.000000000 +0700 ++++ src/dialog.c 2010-10-20 20:23:32.000000000 +0700 +@@ -110,6 +110,9 @@ + { + int space; + ++ if (h->state != DLG_ACTIVE) ++ return; ++ + space = (h->flags & DLG_COMPACT) ? 0 : 1; + + tty_setcolor (DLG_NORMALC (h)); +@@ -317,7 +320,7 @@ + void + dlg_erase (Dlg_head * h) + { +- if (h != NULL) ++ if (h != NULL && h->state == DLG_ACTIVE) + tty_fill_region (h->y, h->x, h->lines, h->cols, ' '); + } + +@@ -458,7 +461,7 @@ + { + /* cannot focus disabled widget ... */ + +- if (h->current != NULL) ++ if (h->current != NULL && h->state == DLG_ACTIVE) + { + Widget *current = (Widget *) h->current->data; + +@@ -478,7 +481,7 @@ + { + /* ... but can unfocus disabled widget */ + +- if (h->current != NULL) ++ if (h->current != NULL && h->state == DLG_ACTIVE) + { + Widget *current = (Widget *) h->current->data; + +@@ -649,7 +652,7 @@ + { + GList *p = h->current; + +- if (p != NULL) ++ if (p != NULL && h->state == DLG_ACTIVE) + { + Widget *w; + +@@ -683,6 +686,9 @@ + void + dlg_redraw (Dlg_head * h) + { ++ if (h->state != DLG_ACTIVE) ++ return; ++ + if (h->winch_pending) + { + h->winch_pending = FALSE; |