changeset 1950:aec86670047b

Automatically set readmark flag
author Mikael Berthe <mikael@lilotux.net>
date Mon, 14 Mar 2011 12:50:18 +0100
parents 13d18777a629
children 1a01a7ef4e43
files mcabber/mcabber/screen.c
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/mcabber/screen.c	Mon Mar 14 12:50:15 2011 +0100
+++ b/mcabber/mcabber/screen.c	Mon Mar 14 12:50:18 2011 +0100
@@ -1471,6 +1471,9 @@
   if (!dont_show) {
     if (win_entry->bd->lock)
       setmsgflg = TRUE;
+    // If this is an outgoing message, update readmark
+    if (!special && (prefix_flags & HBB_PREFIX_OUT))
+      hbuf_set_readmark(win_entry->bd->hbuf, FALSE);
     // Show and refresh the window
     top_panel(win_entry->panel);
     scr_update_window(win_entry);
@@ -2375,8 +2378,10 @@
 
   prev_st = buddy_getstatus(BUDDATA(current_buddy), NULL);
   buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, FALSE);
-  if (chatmode)
+  if (chatmode) {
+    scr_buffer_readmark(TRUE);
     alternate_buddy = current_buddy;
+  }
   current_buddy = newbuddy;
   // Lock the buddy in the buddylist if we're in chat mode
   if (chatmode)
@@ -3482,6 +3487,8 @@
 void readline_disable_chat_mode(guint show_roster)
 {
   scr_check_auto_away(TRUE);
+  if (chatmode)
+    scr_buffer_readmark(TRUE);
   currentWindow = NULL;
   chatmode = FALSE;
   if (current_buddy)