aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core-commands.c
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2021-10-13 22:21:46 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2021-10-13 22:21:46 +0300
commitcc929087f90da5479152e26829e10af2c1c3b937 (patch)
tree5f5dc8d6a9125cfec3bcf8a579ffa3beb69f181d /src/core-commands.c
parentf337481d17838e45020e4ce70e74181adc1cba89 (diff)
downloadsciteco-cc929087f90da5479152e26829e10af2c1c3b937.tar.gz
GTK: revised the key processing again to prevent crashes
* Processing a queued list of key events with an idle timer turned out to be tricky. Since teco_interface_pop_key_idle_cb() would eventually drive the main loop with gtk_main_iteration_do() which may result in a recursive invocation of teco_interface_pop_key_idle_cb() which will eventually crash. * We'd have to mask the idle watcher during the execution time of teco_interface_pop_key_idle_cb(). * Therefore it has been decided to use a tight loop again to process the event queue. After thawing the window, we now manually drive the event loop with gtk_main_iteration_do() to make sure that the UI is updated. This could result in a recursive invocation of teco_interface_key_pressed_cb() of course but the callback is already secured against this.
Diffstat (limited to 'src/core-commands.c')
0 files changed, 0 insertions, 0 deletions