From ef923d28ff413e0133eed59f2cf24652955c94e0 Mon Sep 17 00:00:00 2001
From: nicm <nicm>
Date: Sun, 30 Mar 2025 22:01:55 +0000
Subject: [PATCH] Do not try to trigger theme changed if session is NULL.

---
 session.c  | 10 ++++++----
 tty-keys.c |  4 ++--
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/session.c b/session.c
index e9664183..51430678 100644
--- a/session.c
+++ b/session.c
@@ -363,7 +363,7 @@ session_detach(struct session *s, struct winlink *wl)
 
 	if (RB_EMPTY(&s->windows))
 		return (1);
-       	return (0);
+	return (0);
 }
 
 /* Return if session has window. */
@@ -761,8 +761,10 @@ session_theme_changed(struct session *s)
 	struct window_pane	*wp;
 	struct winlink		*wl;
 
-	RB_FOREACH(wl, winlinks, &s->windows) {
-		TAILQ_FOREACH(wp, &wl->window->panes, entry)
-			wp->flags |= PANE_THEMECHANGED;
+	if (s != NULL) {
+		RB_FOREACH(wl, winlinks, &s->windows) {
+			TAILQ_FOREACH(wp, &wl->window->panes, entry)
+			    wp->flags |= PANE_THEMECHANGED;
+		}
 	}
 }
diff --git a/tty-keys.c b/tty-keys.c
index f78b84f2..ac172790 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -795,12 +795,12 @@ tty_keys_next(struct tty *tty)
 	switch (tty_keys_colours(tty, buf, len, &size, &tty->fg, &tty->bg)) {
 	case 0:		/* yes */
 		key = KEYC_UNKNOWN;
-		session_theme_changed(tty->client->session);
+		session_theme_changed(c->session);
 		goto complete_key;
 	case -1:	/* no, or not valid */
 		break;
 	case 1:		/* partial */
-		session_theme_changed(tty->client->session);
+		session_theme_changed(c->session);
 		goto partial_key;
 	}