mirror of
https://github.com/kovidgoyal/kitty.git
synced 2024-11-13 12:09:35 +03:00
Fix window not being rendered for the first time until some input has been received from child process
Fixes #2216
This commit is contained in:
parent
2f0b6e24c9
commit
a08931d84d
@ -25,6 +25,10 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
|
||||
- Fix lines at the edge of the window at certain windows sizes when drawing
|
||||
images on a transparent window (:iss:`2079`)
|
||||
|
||||
- Fix window not being rendered for the first time until some input has been
|
||||
received from child process (:iss:`2216`)
|
||||
|
||||
|
||||
0.15.0 [2019-11-27]
|
||||
--------------------
|
||||
|
||||
|
@ -649,7 +649,7 @@ static inline void
|
||||
render(monotonic_t now, bool input_read) {
|
||||
EVDBG("input_read: %d", input_read);
|
||||
static monotonic_t last_render_at = MONOTONIC_T_MIN;
|
||||
monotonic_t time_since_last_render = now - last_render_at;
|
||||
monotonic_t time_since_last_render = last_render_at == MONOTONIC_T_MIN ? OPT(repaint_delay) : now - last_render_at;
|
||||
if (!input_read && time_since_last_render < OPT(repaint_delay)) {
|
||||
set_maximum_wait(OPT(repaint_delay) - time_since_last_render);
|
||||
return;
|
||||
@ -916,10 +916,14 @@ process_global_state(void *data) {
|
||||
ChildMonitor *self = data;
|
||||
maximum_wait = -1;
|
||||
bool state_check_timer_enabled = false;
|
||||
bool input_read = false;
|
||||
|
||||
monotonic_t now = monotonic();
|
||||
if (global_state.has_pending_resizes) process_pending_resizes(now);
|
||||
bool input_read = parse_input(self);
|
||||
if (global_state.has_pending_resizes) {
|
||||
process_pending_resizes(now);
|
||||
input_read = true;
|
||||
}
|
||||
if (parse_input(self)) input_read = true;
|
||||
render(now, input_read);
|
||||
#ifdef __APPLE__
|
||||
if (cocoa_pending_actions) {
|
||||
|
Loading…
Reference in New Issue
Block a user