aboutsummaryrefslogtreecommitdiffstats
path: root/src/calcurse.c
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2011-06-28 11:05:05 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2011-06-28 18:22:43 +0200
commitfec37db06bbbdff79bc9816046a76e0b29e173b4 (patch)
tree2b7a6349b3bc7dd8c22be72518bb4576040e9596 /src/calcurse.c
parent6636232bc7bb3148ca82dcac3e52ce02212f4b68 (diff)
downloadcalcurse-fec37db06bbbdff79bc9816046a76e0b29e173b4.tar.gz
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.c12
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 ();
}