[Geany-Devel] Geany performance
Pavel Roschin
rpg89 at xxxxx
Sun Sep 29 08:47:25 UTC 2013
> It is. If I understand correctly the original reason for this is because
> when you set the scintilla buffer (at least as it goes currently), it
> pushes the cursor to the end of the inserted text, and so it needs to be
> pushed back to the start by default (if no other position is stored or
> specified). Please excuse if I'm mistaken here.
Geany with my patch behaves normally without unnecessary goto_pos. But today
I added more clear-looking patch that skips goto-ing if pos == current_pos.
Isn't? Try, it will take 2 minutes:
void sci_goto_pos(ScintillaObject *sci, gint pos, gboolean unfold)
{
if (unfold) SSM(sci, SCI_ENSUREVISIBLE, (uptr_t) SSM(sci,
SCI_LINEFROMPOSITION, (uptr_t) pos, 0), 0);
/* Do not goto if we are already here */
if(pos == sci_get_current_position(sci)) return;
SSM(sci, SCI_GOTOPOS, (uptr_t) pos, 0);
}
--
Best regards,
Pavel Roschin aka RPG
More information about the Devel
mailing list