summaryrefslogtreecommitdiffstats
path: root/screen.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2022-06-30 16:37:18 +0100
committerThomas Adam <thomas@xteddy.org>2022-06-30 16:37:18 +0100
commit01c4919f5f86d7c120451ae642e722ea7d9651d7 (patch)
tree588d4883507ab85ad5e51181a548346da7c86c20 /screen.c
parentd8c527a5f9fc06ea15a7d04f3a54a9e49cebae62 (diff)
parentcdacc12ce305ad2f3e65e2a01328a988e3200b51 (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'screen.c')
-rw-r--r--screen.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/screen.c b/screen.c
index eceef642..12ca4d17 100644
--- a/screen.c
+++ b/screen.c
@@ -89,6 +89,7 @@ screen_init(struct screen *s, u_int sx, u_int sy, u_int hlimit)
s->sel = NULL;
s->write_list = NULL;
+ s->hyperlinks = NULL;
screen_reinit(s);
}
@@ -118,6 +119,17 @@ screen_reinit(struct screen *s)
screen_clear_selection(s);
screen_free_titles(s);
+ screen_reset_hyperlinks(s);
+}
+
+/* Reset hyperlinks of a screen. */
+void
+screen_reset_hyperlinks(struct screen *s)
+{
+ if (s->hyperlinks == NULL)
+ s->hyperlinks = hyperlinks_init();
+ else
+ hyperlinks_reset(s->hyperlinks);
}
/* Destroy a screen. */
@@ -136,6 +148,8 @@ screen_free(struct screen *s)
grid_destroy(s->saved_grid);
grid_destroy(s->grid);
+ if (s->hyperlinks != NULL)
+ hyperlinks_free(s->hyperlinks);
screen_free_titles(s);
}