Avoid redundant redraws on resize

Use a global flag to record whether the terminal was resized instead of
redrawing everything each time a KEY_RESIZE is read.

Add some additional checks to help_write_pad() as invalid actions may be
passed now due to using signals instead of virtual key presses.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2011-06-28 11:05:05 +02:00
parent 6636232bc7
commit fec37db06b
7 changed files with 105 additions and 76 deletions

View File

@@ -179,9 +179,7 @@ main (int argc, char **argv)
break;
case KEY_GENERIC_REDRAW:
case KEY_RESIZE:
do_update = 0;
wins_reset ();
resize = 1;
break;
case KEY_GENERIC_CHANGE_VIEW:
@@ -567,6 +565,14 @@ main (int argc, char **argv)
apoint_hilt_set (1);
}
}
if (resize)
{
resize = 0;
do_update = 0;
wins_reset ();
}
if (do_update)
wins_update ();
}