summaryrefslogtreecommitdiff
path: root/src/main/completion.c
diff options
context:
space:
mode:
authorAlbert Cervin <albert@acervin.com>2025-11-18 17:17:14 +0100
committerAlbert Cervin <albert@acervin.com>2025-11-19 11:06:32 +0100
commitfd5683cdc61efa37a1be7b94901f75c5409d2297 (patch)
treeecc88724fb0c0ac408daea1fca7a69a48416b96f /src/main/completion.c
parent9cf86e6dcafc8e7d9a314fb8fdc87347eb00fb2c (diff)
downloaddged-rendering-improvements.tar.gz
dged-rendering-improvements.tar.xz
dged-rendering-improvements.zip
Make sure rendering happens at least 7ms apartrendering-improvements
Running a lot faster just causes tearing.
Diffstat (limited to 'src/main/completion.c')
-rw-r--r--src/main/completion.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/completion.c b/src/main/completion.c
index d777408..7c5de47 100644
--- a/src/main/completion.c
+++ b/src/main/completion.c
@@ -215,7 +215,11 @@ static void open_completion(struct completion_state *state) {
if (!completion_active() || state->target != buffer) {
// clear any previous keymaps
- abort_completion();
+ if (g_state.keymap_id != (uint64_t)-1) {
+ buffer_remove_keymap(g_state.keymap_id);
+ }
+
+ g_state.keymap_id = (uint64_t)-1;
struct keymap km = keymap_create("completion", 8);
struct binding comp_bindings[] = {
@@ -227,6 +231,7 @@ static void open_completion(struct completion_state *state) {
sizeof(comp_bindings) / sizeof(comp_bindings[0]));
state->keymap_id = buffer_add_keymap(buffer, km);
+ state->target = buffer;
}
// need to run next frame to have the correct position