diff options
| -rw-r--r-- | view.c | 15 | ||||
| -rw-r--r-- | view.h | 2 |
2 files changed, 9 insertions, 8 deletions
@@ -1183,15 +1183,16 @@ static void view_cursors_free(Cursor *c) { free(c); } -void view_cursors_dispose(Cursor *c) { +bool view_cursors_dispose(Cursor *c) { if (!c) - return; + return false; View *view = c->view; - if (view->cursors && view->cursors->next) { - view_selections_free(c->sel); - view_cursors_free(c); - view_draw(view); - } + if (!view->cursors || !view->cursors->next) + return false; + view_selections_free(c->sel); + view_cursors_free(c); + view_cursors_primary_set(view->cursor); + return true; } Cursor *view_cursors(View *view) { @@ -127,7 +127,7 @@ int view_cursors_count(View*); bool view_cursors_multiple(View*); /* dispose an existing cursor with its associated selection (if any), * not applicaple for the last existing cursor */ -void view_cursors_dispose(Cursor*); +bool view_cursors_dispose(Cursor*); /* only keep the main cursor, release all others together with their * selections (if any) */ void view_cursors_clear(View*); |
