diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-06-20 15:19:34 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-06-22 04:10:39 +0200 |
commit | 12d0de235e1b24c2afc34ab13e317ea3ae69792e (patch) | |
tree | bb66aa32b40b1a8b6973d664ab72f3613f5f3b0b /src | |
parent | db82e1be3a650225f2902927d034c7ff434b513d (diff) | |
download | sciteco-12d0de235e1b24c2afc34ab13e317ea3ae69792e.tar.gz |
fixed flickering in InterfaceCurses::set_window_title()
* this was an issue at least in PDCurses/win32
Diffstat (limited to 'src')
-rw-r--r-- | src/interface-curses.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/interface-curses.cpp b/src/interface-curses.cpp index 41f3e45..aabadc4 100644 --- a/src/interface-curses.cpp +++ b/src/interface-curses.cpp @@ -421,7 +421,22 @@ InterfaceCurses::show_view_impl(ViewCurses *view) void InterfaceCurses::set_window_title(const gchar *title) { + static gchar *last_title = NULL; + + /* + * PDC_set_title() can result in flickering + * even when executed only once per pressed key, + * so we check whether it is really necessary to change + * the title. + * This is an issue at least with PDCurses/win32. + */ + if (!g_strcmp0(title, last_title)) + return; + PDC_set_title(title); + + g_free(last_title); + last_title = g_strdup(title); } #elif defined(HAVE_TIGETSTR) |