The more we use them, the more careful we must be.
Signed-off-by: NeilBrown <neil@brown.name>
struct complete_data *cd;
struct cmd_info ci2 = {0};
+ if (!rc_map)
+ register_map();
+
/* Need to interpose a new pane between the 'render-lines' pane,
* which we assume is 'ci->focus' and its parent, so we can
* re-interpret lines.
pane_check_size(complete);
cd->prefix = strdup("");
- if (!rc_map)
- register_map();
ci->focus = complete;
return 1;
}
struct dir_data *dd = malloc(sizeof(*dd));
struct pane *p;
+ if (!dr_map)
+ render_dir_register_map();
+
if (!ptp)
ptp = pane_point(parent);
if (!ptp)
dd->pane = p;
dd->header = 0;
dd->home_field = -1;
-
- if (!dr_map)
- render_dir_register_map();
return p;
}
struct pane *p;
struct pane *parent = ci->focus;
+ if (!rf_map)
+ render_format_register_map();
+
rf->home_field = -1;
p = pane_register(parent, 0, &render_format_handle.c, rf, NULL);
attr_set_str(&p->attrs, "render-wrap", "no", -1);
render_attach("lines", p);
- if (!rf_map)
- render_format_register_map();
ci->focus = p;
return 1;
}
struct he_data *he = malloc(sizeof(*he));
struct pane *p;
+ if (!he_map)
+ render_hex_register_map();
+
if (!ptp)
ptp = pane_point(parent);
if (!ptp)
he->pane = p;
render_attach("lines", p);
- if (!he_map)
- render_hex_register_map();
return p;
}
struct rl_data *rl = malloc(sizeof(*rl));
struct point **ptp;
+ if (!rl_map)
+ render_lines_register_map();
+
ptp = ci->pointp;
if (!ptp)
return -1;
sizeof(struct rl_mark) - sizeof(struct mark);
rl->pane = pane_register(ci->focus, 0, &render_lines_handle.c, rl, NULL);
- if (!rl_map)
- render_lines_register_map();
ci->focus = rl->pane;
return 1;
}
struct rt_data *rt = malloc(sizeof(*rt));
struct pane *p;
+ if (!rt_map)
+ render_text_register_map();
+
if (!ptp)
ptp = pane_point(parent);
if (!ptp)
rt->typenum = doc_add_view((*ptp)->doc, &rt->type);
p = pane_register(parent, 0, &render_text_handle, rt, NULL);
rt->pane = p;
-
- if (!rt_map)
- render_text_register_map();
return p;
}