summary refs log tree commit diff stats
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/hexchat.c2
-rw-r--r--src/common/hexchat.h1
-rw-r--r--src/common/inbound.c2
3 files changed, 5 insertions, 0 deletions
diff --git a/src/common/hexchat.c b/src/common/hexchat.c
index 07f91cfb..8729df33 100644
--- a/src/common/hexchat.c
+++ b/src/common/hexchat.c
@@ -528,6 +528,8 @@ new_ircwindow (server *serv, char *name, int type, int focus)
 	irc_init (sess);
 	chanopt_load (sess);
 	scrollback_load (sess);
+	if (sess->scrollwritten && sess->scrollback_replay_marklast)
+		sess->scrollback_replay_marklast (sess);
 	plugin_emit_dummy_print (sess, "Open Context");
 
 	return sess;
diff --git a/src/common/hexchat.h b/src/common/hexchat.h
index 7143f8ab..5d96fd4b 100644
--- a/src/common/hexchat.h
+++ b/src/common/hexchat.h
@@ -459,6 +459,7 @@ typedef struct session
 	int doing_who:1;		/* /who sent on this channel */
 	int done_away_check:1;	/* done checking for away status changes */
 	gtk_xtext_search_flags lastlog_flags;
+	void (*scrollback_replay_marklast) (struct session *sess);
 } session;
 
 struct msproxy_state_t
diff --git a/src/common/inbound.c b/src/common/inbound.c
index ea7c3c9b..3737e479 100644
--- a/src/common/inbound.c
+++ b/src/common/inbound.c
@@ -608,6 +608,8 @@ inbound_ujoin (server *serv, char *chan, char *nick, char *ip,
 	{
 		chanopt_load (sess);
 		scrollback_load (sess);
+		if (sess->scrollwritten && sess->scrollback_replay_marklast)
+			sess->scrollback_replay_marklast (sess);
 	}
 
 	fe_set_channel (sess);