Browse Source

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.
binutils-2_37-branch
Hannes Domani 5 years ago
parent
commit
a56889ae38
  1. 5
      gdb/ChangeLog
  2. 4
      gdb/python/py-tui.c

5
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

4
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. */

Loading…
Cancel
Save