From: NeilBrown Date: Fri, 1 Sep 2023 02:44:38 +0000 (+1000) Subject: messageline: change to use PANE_DOC_DATA X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=a74f517680fc7eaca258c5440745244da986e90c;p=edlib.git messageline: change to use PANE_DOC_DATA This avoids the need to alloc/free. Signed-off-by: NeilBrown --- diff --git a/lib-messageline.c b/lib-messageline.c index d6e6ba09..df5b9ba0 100644 --- a/lib-messageline.c +++ b/lib-messageline.c @@ -23,6 +23,7 @@ #include #include +#define PANE_DATA_TYPE struct mlinfo #include "core.h" struct mlinfo { @@ -35,6 +36,8 @@ struct mlinfo { int hidden; time_t last_message; /* message should stay for at least 10 seconds */ }; +#include "core-pane.h" + static struct pane *do_messageline_attach(struct pane *p safe); static struct map *messageline_map; DEF_LOOKUP_CMD(messageline_handle, messageline_map); @@ -248,10 +251,10 @@ static struct pane *do_messageline_attach(struct pane *p safe) struct mlinfo *mli; struct pane *ret, *mlp; - alloc(mli, pane); - ret = pane_register(p, 0, &messageline_handle.c, mli); + ret = pane_register(p, 0, &messageline_handle.c); if (!ret) return NULL; + mli = ret->data; call("editor:request:Message:broadcast", ret); /* z=1 to avoid clone_children affecting it */ mlp = call_ret(pane, "attach-renderline", ret, 1); @@ -295,7 +298,6 @@ void edlib_init(struct pane *ed safe) return; messageline_map = key_alloc(); key_add(messageline_map, "Clone", &messageline_clone); - key_add(messageline_map, "Free", &edlib_do_free); key_add(messageline_map, "Display:border", &messageline_border); key_add(messageline_map, "Message", &messageline_msg); key_add(messageline_map, "Message:modal", &messageline_msg);