I noticed a buglet in tui_update_variables:
...
entry = translate (tui_border_kind, tui_border_kind_translate_lrcorner);
if (tui_border_lrcorner != (chtype) entry->value)
{
tui_border_lrcorner = (entry->value < 0) ? ACS_LRCORNER : entry->value;
...
When assigning the new value to tui_border_lrcorner, an entry->value of -1 is
taken into account, but not when comparing to the current value of
tui_border_lrcorner.
Fix this by introducing:
...
int val = (entry->value < 0) ? ACS_LRCORNER : entry->value;
...
and using this in both comparison and assignment.
Tested on x86_64-linux.
Only check the first one. The ACS characters are determined at
run time by curses terminal management. */
entry = translate (tui_border_kind, tui_border_kind_translate_lrcorner);
- if (tui_border_lrcorner != (chtype) entry->value)
+ int val = (entry->value < 0) ? ACS_LRCORNER : entry->value;
+ if (tui_border_lrcorner != (chtype) val)
{
- tui_border_lrcorner = (entry->value < 0) ? ACS_LRCORNER : entry->value;
+ tui_border_lrcorner = val;
need_redraw = true;
}
entry = translate (tui_border_kind, tui_border_kind_translate_llcorner);