From 2f6b7f7d6735ef07831dd81c6f7db7646e525493 Mon Sep 17 00:00:00 2001 From: scw Date: Tue, 16 Aug 2005 00:11:08 +0000 Subject: Crash when calling angel, fix r3038 git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3043 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/talk.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'mbbsd') diff --git a/mbbsd/talk.c b/mbbsd/talk.c index 920035e8..ae889028 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -3268,22 +3268,22 @@ TalkToAngel(){ void CallAngel(){ - static int entered = 0; - void *screen0; - int x, y; + static int entered = 0; + screen_backup_t old_screen; + int x, y; if (!HasUserPerm(PERM_LOGINOK) || entered) return; entered = 1; getyx(&y, &x); - screen0=malloc(screen_backupsize(t_lines, big_picture)); - screen_backup(t_lines, big_picture, screen0); + old_screen.raw_memory = malloc(screen_backupsize(t_lines, big_picture)); + screen_backup(t_lines, big_picture, &old_screen); TalkToAngel(); - screen_restore(t_lines, big_picture, screen0); - free(screen0); + screen_restore(t_lines, big_picture, &old_screen); + free(old_screen.raw_memory); move(y, x); redoscr(); -- cgit v1.2.3