diff options
| author | Albert Cervin <albert@acervin.com> | 2025-11-18 17:17:14 +0100 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2025-11-19 11:06:32 +0100 |
| commit | fd5683cdc61efa37a1be7b94901f75c5409d2297 (patch) | |
| tree | ecc88724fb0c0ac408daea1fca7a69a48416b96f /src/main/completion.c | |
| parent | 9cf86e6dcafc8e7d9a314fb8fdc87347eb00fb2c (diff) | |
| download | dged-fd5683cdc61efa37a1be7b94901f75c5409d2297.tar.gz dged-fd5683cdc61efa37a1be7b94901f75c5409d2297.tar.xz dged-fd5683cdc61efa37a1be7b94901f75c5409d2297.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.c | 7 |
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 |
