Sorry, I forgot to include the patch.
Thanks,
Evandro
diff -Naurp geany-0.20/src/document.c geany-0.20_fast/src/document.c --- geany-0.20/src/document.c 2012-11-23 20:22:22.564735000 -0800 +++ geany-0.20_fast/src/document.c 2012-11-24 12:47:50.110927000 -0800 @@ -2676,7 +2676,10 @@ void document_undo_add(GeanyDocument *do
g_trash_stack_push(&doc->priv->undo_actions, action);
- document_set_text_changed(doc, TRUE); + if (doc->changed != TRUE) { + document_set_text_changed(doc, TRUE); + } + ui_update_popup_reundo_items(doc); }
@@ -2840,7 +2843,10 @@ static void document_redo_add(GeanyDocum
g_trash_stack_push(&doc->priv->redo_actions, action);
- document_set_text_changed(doc, TRUE); + if (doc->changed != TRUE) { + document_set_text_changed(doc, TRUE); + } + ui_update_popup_reundo_items(doc); }
2012/11/24 Evandro Borracini evandro.borracini@gmail.com
Hi,
Thanks everyone for the comments and suggestions. Based on them, I reverted back to the original code and just added an "if (doc->changed != TRUE)" before calling document_set_text_changed(doc, TRUE) in document_undo/redo_add().
That prevents calling document_set_text_changed() again if doc->changed is already TRUE.
It worked fine and I don't see the latency anymore. :-)
Please find the complete patch below. Document_set_text_changed() function is not changed.
Please comment on that.
Thanks again and regards,
Evandro
2012/11/24 Nick Treleaven nick.treleaven@btinternet.com
On 24/11/2012 14:04, Colomban Wendling wrote:
A solution might be to only do the updates if (doc->changed != changed). I didn't look at the interactions with the rest of Geany (nor test it actually), but looking at this I guess that changing it to:
I played with this a little. It won't work easily because document_set_text_changed is sometimes called to force a UI update, possibly even when the current doc hasn't changed. The API docs describe this behavior also.
______________________________**_________________ Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-**bin/mailman/listinfo/develhttps://lists.geany.org/cgi-bin/mailman/listinfo/devel