diff --git a/ChangeLog b/ChangeLog index af166736..64ecb4b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,5 @@ +31 Jan 1998 +- fixed a resizing bug. 30 Jan 1998 - fixed an ANSI compatibility problem. 30 Jan 1998 Kyle Haight diff --git a/src/TEScreen.C b/src/TEScreen.C index c06fc3ee..46bee263 100644 --- a/src/TEScreen.C +++ b/src/TEScreen.C @@ -468,8 +468,8 @@ void TEScreen::saveCursor() void TEScreen::restoreCursor() { - cuX = sa_cuX; - cuY = sa_cuY; + cuX = MIN(sa_cuX,columns-1); + cuY = MIN(sa_cuY,lines-1); graphic = sa_graphic; pound = sa_pound; cu_re = sa_cu_re; @@ -491,9 +491,8 @@ void TEScreen::restoreCursor() void TEScreen::resizeImage(int new_lines, int new_columns) { -/*printf( "resize image(new_lines=%d, new_columns=%d)\n", - new_lines, new_columns ); - */ +//printf( "resize image(new_lines=%d, new_columns=%d)\n", new_lines, new_columns ); +//FIXME: evtl. transfer from/to history buffer // make new image ca* newimg = (ca*)malloc(new_lines*new_columns*sizeof(ca)); @@ -527,10 +526,11 @@ void TEScreen::resizeImage(int new_lines, int new_columns) cuX = MIN(cuX,columns-1); cuY = MIN(cuY,lines-1); - // FIXME: evtl. keep values + // FIXME: try to keep values, evtl. tmargin=0; bmargin=lines-1; initTabStops(); + clearSelection(); } /* diff --git a/src/main.C b/src/main.C index c30c5287..bf51d816 100644 --- a/src/main.C +++ b/src/main.C @@ -20,6 +20,25 @@ and from the user. It hardly does anything interesting. */ +/*FIXME: + - All the material in here badly sufferes from the fact that the + configuration can originate from many places, so all is duplicated + and falls out of service. The sources are: + - command line + - menu + - configuration files + - other events (e.g. resizing) + We have to find a single place method to maintain this. + - Moving geometry management from char to pixel is half done. + Means that setColLin is used in unappropriate places. + Likely the configuration is still char based. + - Controling the widget is currently done by individual attributes. + This lead to quite some amount of flicker when a whole bunch of + attributes has to be set, e.g. in session swapping. + - The schema file name in session config files is not location + transparent. +*/ + /* TODO - don't reread the pixmap every time */