diff options
author | Alex Alexander <wired@gentoo.org> | 2011-03-29 20:41:03 +0000 |
---|---|---|
committer | Alex Alexander <wired@gentoo.org> | 2011-03-29 20:41:03 +0000 |
commit | d296be8367112f7ed0e4399cb701ac3e92bda9c6 (patch) | |
tree | 2d9a7565b89a46b74e9a4071db140aaa18c2ee44 /app-misc/vifm/files | |
parent | Stable for HPPA (bug #361149). (diff) | |
download | gentoo-2-d296be8367112f7ed0e4399cb701ac3e92bda9c6.tar.gz gentoo-2-d296be8367112f7ed0e4399cb701ac3e92bda9c6.tar.bz2 gentoo-2-d296be8367112f7ed0e4399cb701ac3e92bda9c6.zip |
fixed segfault with ncurses-5.8. bug #359179
(Portage version: 2.2.0_alpha29/cvs/Linux x86_64)
Diffstat (limited to 'app-misc/vifm/files')
-rw-r--r-- | app-misc/vifm/files/vifm-0.5-ncurses-5.8.patch | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/app-misc/vifm/files/vifm-0.5-ncurses-5.8.patch b/app-misc/vifm/files/vifm-0.5-ncurses-5.8.patch new file mode 100644 index 000000000000..17e62bd2f117 --- /dev/null +++ b/app-misc/vifm/files/vifm-0.5-ncurses-5.8.patch @@ -0,0 +1,144 @@ +this makes vifm compatible with ncurses-5.8 + +patch source: +http://projects.archlinux.org/svntogit/community.git/plain/vifm/repos/community-x86_64/ncurses58.patch +bug: +https://bugs.gentoo.org/show_bug.cgi?id=359179 +--- vifm-0.5/src/keys.c ++++ vifm-0.5-new//src/keys.c +@@ -721,7 +721,6 @@ + redrawwin(stat_win); + redrawwin(status_bar); + redrawwin(pos_win); +- redrawwin(lwin.title); + redrawwin(lwin.win); + redrawwin(num_win); + redrawwin(rborder); +@@ -740,7 +739,6 @@ + touchwin(num_win); + touchwin(rborder); + +- redrawwin(rwin.title); + redrawwin(rwin.win); + redrawwin(lborder); + redrawwin(stat_win); +@@ -768,10 +766,8 @@ + touchwin(num_win); + touchwin(rborder); + +- redrawwin(lwin.title); + redrawwin(lwin.win); + redrawwin(mborder); +- redrawwin(rwin.title); + redrawwin(rwin.win); + redrawwin(lborder); + redrawwin(stat_win); +--- vifm-0.5/src/ui.c ++++ vifm-0.5-new//src/ui.c +@@ -158,32 +158,32 @@ + + werase(stdscr); + +- menu_win = newwin(screen_y - 1, screen_x , 0, 0); ++ menu_win = newwin(screen_y - 1, screen_x , 1, 1); + wbkgdset(menu_win, COLOR_PAIR(WIN_COLOR)); + werase(menu_win); + +- sort_win = newwin(NUM_SORT_OPTIONS + 3, 30, (screen_y -12)/2, (screen_x -30)/2); ++ sort_win = newwin(NUM_SORT_OPTIONS + 3, 30, (screen_y -12)/2 > 0 ? (screen_y -12/2) :1, (screen_x -30)/2 > 0 ? (screen_x -30)/2: 1); + wbkgdset(sort_win, COLOR_PAIR(WIN_COLOR)); + werase(sort_win); + +- change_win = newwin(20, 30, (screen_y -20)/2, (screen_x -30)/2); ++ change_win = newwin(20, 30, ((screen_y -20)/2 > 0 ? (screen_y -20)/2 : 1), (screen_x -30)/2 > 0 ? (screen_x -30/2) : 1 ); + wbkgdset(change_win, COLOR_PAIR(WIN_COLOR)); + werase(change_win); + +- error_win = newwin(10, screen_x -2, (screen_y -10)/2, 1); ++ error_win = newwin(10, screen_x -2, (screen_y -10)/2 > 0 ? (screen_y -10)/2 : 1, 1); + wbkgdset(error_win, COLOR_PAIR(WIN_COLOR)); + werase(error_win); + +- lborder = newwin(screen_y - 2, 1, 0, 0); ++ lborder = newwin(screen_y - 2, 1, 1, 1); + + wbkgdset(lborder, COLOR_PAIR(BORDER_COLOR)); + + werase(lborder); + + if (curr_stats.number_of_windows == 1) +- lwin.title = newwin(0, screen_x -2, 0, 1); ++ lwin.title = newwin(0, screen_x -2, 1, 1); + else +- lwin.title = newwin(0, screen_x/2 -1, 0, 1); ++ lwin.title = newwin(0, screen_x/2 -1, 1, 1); + + wattrset(lwin.title, A_BOLD); + wbkgdset(lwin.title, COLOR_PAIR(BORDER_COLOR)); +@@ -204,16 +204,16 @@ + lwin.window_rows = y -1; + lwin.window_width = x -1; + +- mborder = newwin(screen_y, 2, 0, screen_x/2 -1); ++ mborder = newwin(screen_y, 2, 1, screen_x/2 -1 > 0 ? screen_x/2 -1 : 1); + + wbkgdset(mborder, COLOR_PAIR(BORDER_COLOR)); + + werase(mborder); + + if (curr_stats.number_of_windows == 1) +- rwin.title = newwin(0, screen_x -2 , 0, 1); ++ rwin.title = newwin(0, screen_x -2 , 1, 1); + else +- rwin.title = newwin(1, screen_x/2 -1 , 0, screen_x/2 +1); ++ rwin.title = newwin(1, screen_x/2 -1 , 1, screen_x/2 +1 > 0 ? screen_x/2 +1 :1); + + wbkgdset(rwin.title, COLOR_PAIR(BORDER_COLOR)); + wattrset(rwin.title, A_BOLD); +@@ -224,7 +224,7 @@ + if (curr_stats.number_of_windows == 1) + rwin.win = newwin(screen_y - 3, screen_x -2 , 1, 1); + else +- rwin.win = newwin(screen_y - 3, screen_x/2 -2 , 1, screen_x/2 +1); ++ rwin.win = newwin(screen_y - 3, screen_x/2 -2 , 1, screen_x/2 +1 > 0 ? screen_x/2 +1 : 1); + + keypad(rwin.win, TRUE); + wattrset(rwin.win, A_BOLD); +@@ -235,32 +235,32 @@ + rwin.window_rows = y - 1; + rwin.window_width = x -1; + +- rborder = newwin(screen_y - 2, 1, 0, screen_x -1); ++ rborder = newwin(screen_y - 2, 1, 1, screen_x -1 > 0 ? screen_x-1 : 1); + + wbkgdset(rborder, COLOR_PAIR(BORDER_COLOR)); + + werase(rborder); + +- stat_win = newwin(1, screen_x, screen_y -2, 0); ++ stat_win = newwin(1, screen_x, screen_y -2 > 0 ? screen_y -2 : 1, 1); + + wbkgdset(stat_win, COLOR_PAIR(BORDER_COLOR)); + + werase(stat_win); + +- status_bar = newwin(1, screen_x - 19, screen_y -1, 0); ++ status_bar = newwin(1, screen_x - 19, screen_y -1 > 0 ? screen_y -2: 1, 1); + keypad(status_bar, TRUE); + wattrset(status_bar, A_BOLD); + wattron(status_bar, A_BOLD); + wbkgdset(status_bar, COLOR_PAIR(STATUS_BAR_COLOR)); + werase(status_bar); + +- pos_win = newwin(1, 13, screen_y - 1, screen_x -13); ++ pos_win = newwin(1, 13, screen_y - 1 > 0 ? screen_y -1 : 1, screen_x -13 > 0 ? screen_x -13 : 1); + wattrset(pos_win, A_BOLD); + wattron(pos_win, A_BOLD); + wbkgdset(pos_win, COLOR_PAIR(STATUS_BAR_COLOR)); + werase(pos_win); + +- num_win = newwin(1, 6, screen_y - 1, screen_x -19); ++ num_win = newwin(1, 6, screen_y - 1 > 0 ? screen_y -1 : 1, screen_x -19 > 0 ? screen_x -19 : 1); + wattrset(num_win, A_BOLD); + wattron(num_win, A_BOLD); + wbkgdset(num_win, COLOR_PAIR(STATUS_BAR_COLOR)); |