diff options
author | Hannes Domani <ssbssa@yahoo.de> | 2020-12-22 15:02:47 +0100 |
---|---|---|
committer | Hannes Domani <ssbssa@yahoo.de> | 2021-05-24 17:16:44 +0200 |
commit | a56889ae38d650fb77f0790f4157ff90e11fd2d4 (patch) | |
tree | a5ba04bc4a739df891d5b9e58e3a8720b00e3aef | |
parent | c45d37a9bd9f0ae70528603844b689dde3a6a629 (diff) | |
download | binutils-a56889ae38d650fb77f0790f4157ff90e11fd2d4.zip binutils-a56889ae38d650fb77f0790f4157ff90e11fd2d4.tar.gz binutils-a56889ae38d650fb77f0790f4157ff90e11fd2d4.tar.bz2 |
Prevent flickering when redrawing the TUI python window
tui_win_info::refresh_window first redraws the background window, then
tui_wrefresh draws the python text on top of it, which flickers.
By using wnoutrefresh for the background window, the actual drawing on
the screen is only done once, without flickering.
gdb/ChangeLog:
2021-05-24 Hannes Domani <ssbssa@yahoo.de>
* python/py-tui.c (tui_py_window::refresh_window):
Avoid flickering.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/python/py-tui.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 480d204..b24a24b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2021-05-24 Hannes Domani <ssbssa@yahoo.de> + + * python/py-tui.c (tui_py_window::refresh_window): + Avoid flickering. + 2021-05-23 Tom de Vries <tdevries@suse.de> PR tdep/27822 diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c index 72e9c0d..22f4b0f 100644 --- a/gdb/python/py-tui.c +++ b/gdb/python/py-tui.c @@ -91,12 +91,14 @@ public: void refresh_window () override { - tui_win_info::refresh_window (); if (m_inner_window != nullptr) { + wnoutrefresh (handle.get ()); touchwin (m_inner_window.get ()); tui_wrefresh (m_inner_window.get ()); } + else + tui_win_info::refresh_window (); } /* Erase and re-box the window. */ |