aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2015-06-20 15:19:34 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2015-06-22 04:10:39 +0200
commit12d0de235e1b24c2afc34ab13e317ea3ae69792e (patch)
treebb66aa32b40b1a8b6973d664ab72f3613f5f3b0b
parentdb82e1be3a650225f2902927d034c7ff434b513d (diff)
downloadsciteco-12d0de235e1b24c2afc34ab13e317ea3ae69792e.tar.gz
fixed flickering in InterfaceCurses::set_window_title()
* this was an issue at least in PDCurses/win32
-rw-r--r--src/interface-curses.cpp15
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)