diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c index 6cff88c6547243fe641323dd9d0eb702967bc851..b0d1346cb861e79b1e1e906b6857c74942b23002 100644 --- a/src/conio/ciolib.c +++ b/src/conio/ciolib.c @@ -161,8 +161,6 @@ int try_x_init(int mode) cio_api.getch=x_getch; cio_api.getche=x_getche; cio_api.textmode=x_textmode; - cio_api.showmouse=NULL; - cio_api.hidemouse=NULL; cio_api.settitle=x_settitle; cio_api.copytext=x_copytext; cio_api.getcliptext=x_getcliptext; @@ -192,9 +190,6 @@ int try_curses_init(int mode) cio_api.textmode=curs_textmode; cio_api.showmouse=curs_showmouse; cio_api.hidemouse=curs_hidemouse; - cio_api.settitle=NULL; - cio_api.copytext=NULL; - cio_api.getcliptext=NULL; return(1); } return(0); @@ -220,11 +215,6 @@ int try_ansi_init(int mode) cio_api.getch=ansi_getch; cio_api.getche=ansi_getche; cio_api.textmode=ansi_textmode; - cio_api.showmouse=NULL; - cio_api.hidemouse=NULL; - cio_api.settitle=NULL; - cio_api.copytext=NULL; - cio_api.getcliptext=NULL; return(1); } return(0); @@ -267,6 +257,8 @@ int try_conio_init(int mode) int initciolib(int mode) { + memset(&cio_api,0,sizeof(cio_api)); + switch(mode) { case CIOLIB_MODE_AUTO: #ifdef WITH_SDL @@ -548,7 +540,11 @@ void ciolib_wscroll(void) struct text_info ti; CIOLIB_INIT(); - + + if(cio_api.wscroll==NULL) { + cio_api.wscroll(); + return; + } ciolib_gettextinfo(&ti); if(!_wscroll) return;