office-gobmx/include/LibreOfficeKit
Miklos Vajna a22fe103e7 Related: cool#9735 vcl lok: add an AnyInput() callback
Open the 300 pages bugdoc, paste a oneliner plain text content in a
paragraph which is part of a numbered list, observe a 274 ms hang till
layout is done for all pages, then we get an updated tile. This could be
better, there is no such hang in the desktop case.

What happens is that 1) vcl doesn't try to invoke the poll callback of
the LOK client when there was a processed timer and 2) Writer layout
doesn't try to split its work into pieces because the LOK client has no
way to inform vcl that it has pending input events.

Fix the first problem in this commit: add a new API that allows a LOK
client to inform vcl that it has pending input events and use that
SvpSalInstance::ImplYield(): if a LOK client has pending input events,
then invoke the poll callback after each processed timer. For example,
this allows the LOK client to process emitted callbacks between two idle
layout jobs, word counting, etc.

The second problem around Writer to use
comphelper::LibreOfficeKit::anyInput() is not yet fixed.

Change-Id: I2e39253bfc4d1b5546bc60eef9ff05ccdc0868b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171846
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-08-14 11:17:33 +02:00
..
LibreOfficeKit.h Related: cool#9735 vcl lok: add an AnyInput() callback 2024-08-14 11:17:33 +02:00
LibreOfficeKit.hxx Related: cool#9735 vcl lok: add an AnyInput() callback 2024-08-14 11:17:33 +02:00
LibreOfficeKitEnums.h
LibreOfficeKitGtk.h
LibreOfficeKitInit.h
LibreOfficeKitTypes.h Related: cool#9735 vcl lok: add an AnyInput() callback 2024-08-14 11:17:33 +02:00