Introduction
Introduction Statistics Contact Development Disclaimer Help
avoid redraw when there's no change - dmenu - dynamic menu
git clone git://git.suckless.org/dmenu
Log
Files
Refs
README
LICENSE
---
commit 6818e07291f3b2913e687c8ec3d3fe4711724050
parent b43ec0577f2ad8ad33a0b893fe5360d966036786
Author: NRK <[email protected]>
Date: Fri, 25 Mar 2022 22:51:45 +0100
avoid redraw when there's no change
while i was timing the performance issue, i noticed that there was lots
of random redrawing going on.
turns out there were coming from here; if someone presses CTRL/ALT etc
without pressing anything else, nothing will be inserted, so nothing
will change. but the code will `break`, go down and do a needless redraw.
this patch changes it to simply return if the keypress iscntrl()
also avoid potential UB by casting *buf into an unsigned char.
Diffstat:
M dmenu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/dmenu.c b/dmenu.c
@@ -415,8 +415,9 @@ keypress(XKeyEvent *ev)
switch(ksym) {
default:
insert:
- if (!iscntrl(*buf))
- insert(buf, len);
+ if (iscntrl((unsigned char)*buf))
+ return;
+ insert(buf, len);
break;
case XK_Delete:
case XK_KP_Delete:
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.