summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/curses/gui-curses-chat.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/gui/curses/gui-curses-chat.c b/src/gui/curses/gui-curses-chat.c
index 9fe17aab7..69d677924 100644
--- a/src/gui/curses/gui-curses-chat.c
+++ b/src/gui/curses/gui-curses-chat.c
@@ -67,6 +67,11 @@ gui_chat_marker_for_line (struct t_gui_buffer *buffer, struct t_gui_line *line)
{
struct t_gui_line *last_read_line;
+ /* marker is disabled in config? */
+ if ((CONFIG_INTEGER(config_look_read_marker) != CONFIG_LOOK_READ_MARKER_LINE)
+ && (CONFIG_INTEGER(config_look_read_marker) != CONFIG_LOOK_READ_MARKER_DOTTED_LINE))
+ return 0;
+
/* marker is not set for buffer? */
if (!buffer->lines->last_read_line)
return 0;
@@ -78,15 +83,14 @@ gui_chat_marker_for_line (struct t_gui_buffer *buffer, struct t_gui_line *line)
if (!last_read_line)
return 0;
- /* marker is disabled in config? */
- if ((CONFIG_INTEGER(config_look_read_marker) != CONFIG_LOOK_READ_MARKER_LINE)
- && (CONFIG_INTEGER(config_look_read_marker) != CONFIG_LOOK_READ_MARKER_DOTTED_LINE))
- return 0;
-
while (line)
{
if (last_read_line == line)
- return 1;
+ {
+ if (CONFIG_BOOLEAN(config_look_read_marker_always_show))
+ return 1;
+ return (gui_line_get_next_displayed (line) != NULL) ? 1 : 0;
+ }
if (line->data->displayed)
break;