diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-06-28 11:05:05 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-06-28 18:22:43 +0200 |
commit | fec37db06bbbdff79bc9816046a76e0b29e173b4 (patch) | |
tree | 2b7a6349b3bc7dd8c22be72518bb4576040e9596 /src/calcurse.c | |
parent | 6636232bc7bb3148ca82dcac3e52ce02212f4b68 (diff) | |
download | calcurse-fec37db06bbbdff79bc9816046a76e0b29e173b4.zip |
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>
Diffstat (limited to 'src/calcurse.c')
-rw-r--r-- | src/calcurse.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/calcurse.c b/src/calcurse.c index 15ee1bd..662f185 100644 --- a/src/calcurse.c +++ b/src/calcurse.c @@ -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 (); } |