diff options
author | nicm <nicm> | 2021-02-22 07:09:06 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-02-22 07:09:06 +0000 |
commit | e858270006a9041b9016ed9e6cc12d622ac8fe31 (patch) | |
tree | 75fef148467581c76f1adf59887f67a7877f2bfa /window-copy.c | |
parent | 8986c8dfcd0083e5c767b8a247c119a25e1f8093 (diff) | |
download | rtmux-e858270006a9041b9016ed9e6cc12d622ac8fe31.tar.gz rtmux-e858270006a9041b9016ed9e6cc12d622ac8fe31.tar.bz2 rtmux-e858270006a9041b9016ed9e6cc12d622ac8fe31.zip |
There are many format variables now so allocating all the default ones
each time a tree is created is too expensive. Instead, convert them all
into callbacks and put them in a static table so they only allocate on
demand. The tree remains for the moment for extra (non-default)
variables added by for example copy mode or popups. Also reduce
expensive calls to localtime_r/strftime. GitHub issue 2253.
Diffstat (limited to 'window-copy.c')
-rw-r--r-- | window-copy.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/window-copy.c b/window-copy.c index af8d2937..2f4b06e8 100644 --- a/window-copy.c +++ b/window-copy.c @@ -710,7 +710,7 @@ window_copy_get_line(struct window_pane *wp, u_int y) return (format_grid_line(gd, gd->hsize + y)); } -static char * +static void * window_copy_cursor_word_cb(struct format_tree *ft) { struct window_pane *wp = format_get_pane(ft); @@ -720,7 +720,7 @@ window_copy_cursor_word_cb(struct format_tree *ft) return (window_copy_get_word(wp, data->cx, data->cy)); } -static char * +static void * window_copy_cursor_line_cb(struct format_tree *ft) { struct window_pane *wp = format_get_pane(ft); @@ -730,7 +730,7 @@ window_copy_cursor_line_cb(struct format_tree *ft) return (window_copy_get_line(wp, data->cy)); } -static char * +static void * window_copy_search_match_cb(struct format_tree *ft) { struct window_pane *wp = format_get_pane(ft); |