From 56d083779f9aa02d71235d65d5d67bd75d68df42 Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Mon, 25 Jul 2005 20:28:21 +0000 Subject: [PATCH] really fix mouse support breakage git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2931 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- src/nano.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/nano.c b/src/nano.c index 0d0c23ea..285a082a 100644 --- a/src/nano.c +++ b/src/nano.c @@ -1727,8 +1727,7 @@ bool do_mouse(void) /* Did they click on the line with the cursor? If they * clicked on the cursor, we set the mark. */ const filestruct *current_save = openfile->current; - size_t current_x_save = openfile->current_x; - size_t pww_save = openfile->placewewant; + size_t new_current_x, pww_save = openfile->placewewant; /* Subtract out the size of topwin. */ mouse_y -= 2 - no_more_space(); @@ -1743,18 +1742,20 @@ bool do_mouse(void) openfile->current->prev != NULL; openfile->current_y--) openfile->current = openfile->current->prev; - openfile->current_x = actual_x(openfile->current->data, + new_current_x = actual_x(openfile->current->data, get_page_start(xplustabs() + mouse_x)); - openfile->placewewant = xplustabs(); #ifndef NANO_SMALL /* Clicking where the cursor is toggles the mark, as does * clicking beyond the line length with the cursor at the * end of the line. */ - if (sameline && openfile->current_x == current_x_save) + if (sameline && new_current_x == openfile->current_x) do_mark(); #endif + openfile->current_x = new_current_x; + openfile->placewewant = xplustabs(); + edit_redraw(current_save, pww_save); } }