]> git.neil.brown.name Git - edlib.git/commitdiff
Change doc:destroy to work with pane rather than point.
authorNeilBrown <neil@brown.name>
Thu, 26 Nov 2015 01:09:15 +0000 (12:09 +1100)
committerNeilBrown <neil@brown.name>
Thu, 26 Nov 2015 01:09:15 +0000 (12:09 +1100)
Signed-off-by: NeilBrown <neil@brown.name>
core-doc.c
doc-dir.c
doc-text.c

index 0e723b5c87b84bf9a3ee336732adcf7f635cbd2d..a62936d6ffc0a35e7868954570db09926d484124 100644 (file)
@@ -598,7 +598,6 @@ int  doc_destroy(struct doc *d)
         */
        int i;
        struct cmd_info ci2 = {0};
-       struct point p, *pt;
 
        d->deleting = 1;
        if (d == d->ed->docs)
@@ -618,11 +617,8 @@ int  doc_destroy(struct doc *d)
        pane_close(d->home);
 
        ci2.key = "doc:destroy";
-       /* Hack ... will go */
-       p.doc = d;
-       pt = &p;
-       ci2.pointp = &pt;
-       key_lookup(d->map, &ci2);
+       ci2.focus = d->home;
+       key_handle_focus(&ci2);
 
        free(d->views);
        attr_free(&d->attrs);
index a6abbc9ee9a6a3e9228379eb6beab724d0682ec0..1145b2efe74f37f6ccf7bd9569e0cd890e20a72a 100644 (file)
--- a/doc-dir.c
+++ b/doc-dir.c
@@ -484,7 +484,7 @@ DEF_CMD(dir_get_attr)
 
 DEF_CMD(dir_destroy)
 {
-       struct doc *d = (*ci->pointp)->doc;
+       struct doc *d = ci->home->data;
        struct directory *dr = container_of(d, struct directory, doc);
 
        while (!list_empty(&dr->ents)) {
index 270af023a32be4eac3f6344103347edf72ba1779..a74f5d4866c3cc5a78d8a0e41bb61aecc7cdc784 100644 (file)
@@ -1502,7 +1502,7 @@ DEF_CMD(text_set_attr)
 
 DEF_CMD(text_destroy)
 {
-       struct doc *d = (*ci->pointp)->doc;
+       struct doc *d = ci->focus->data;
        struct text *t = container_of(d, struct text, doc);
 
        while (!list_empty(&t->text)) {