summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2014-04-13 04:16:23 +0300
committerJari Vetoniemi <mailroxas@gmail.com>2014-04-13 04:16:23 +0300
commit850a8335d5c35cc81ba576cd4636460ea1684223 (patch)
treeaaeb7f9178a9c9fc0d8c92c2939afa03d15c253c
parent66a6f08c8a9a90fd8c176a4c6b1f5aa6094233c4 (diff)
downloadbemenu-850a8335d5c35cc81ba576cd4636460ea1684223.tar.gz
bemenu-850a8335d5c35cc81ba576cd4636460ea1684223.tar.bz2
bemenu-850a8335d5c35cc81ba576cd4636460ea1684223.zip
Flush input buffer after showing menu first time.
-rw-r--r--lib/draw/curses.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/draw/curses.c b/lib/draw/curses.c
index 6ebfb45..9a123df 100644
--- a/lib/draw/curses.c
+++ b/lib/draw/curses.c
@@ -79,6 +79,7 @@ static struct curses {
int (*getmaxy)(WINDOW *win);
int (*keypad)(WINDOW *win, bool bf);
int (*curs_set)(int visibility);
+ int (*flushinp)(void);
int (*noecho)(void);
int (*raw)(void);
int *ESCDELAY;
@@ -181,6 +182,7 @@ static void _bmDrawCursesRender(const bmMenu *menu)
return;
*curses.ESCDELAY = 25;
+ curses.flushinp();
curses.keypad(curses.stdscr, true);
curses.curs_set(1);
curses.noecho();
@@ -409,6 +411,8 @@ int _bmDrawCursesInit(struct _bmRenderApi *api)
goto function_pointer_exception;
if (!bmLoadFunction(curs_set))
goto function_pointer_exception;
+ if (!bmLoadFunction(flushinp))
+ goto function_pointer_exception;
if (!bmLoadFunction(noecho))
goto function_pointer_exception;
if (!bmLoadFunction(raw))