fixed a resizing bug that leads to a SEGV.

svn path=/trunk/kdebase/konsole/; revision=16246
wilder-portage
Lars Doelle 28 years ago
parent b938049e68
commit 0b07e68001
  1. 2
      ChangeLog
  2. 12
      src/TEScreen.C
  3. 19
      src/main.C

@ -1,3 +1,5 @@
31 Jan 1998
- fixed a resizing bug.
30 Jan 1998
- fixed an ANSI compatibility problem.
30 Jan 1998 Kyle Haight <khaight@netcom.com>

@ -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();
}
/*

@ -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
*/

Loading…
Cancel
Save