There is a chunk of code in:
with some pretty bad practice on display. There is a large chunk of cut-and-paste coding between:
IMPL_LINK_NOARG_TYPED(UpdateRequiredDialog, TimeOutHdl, Idle *, void)
IMPL_LINK_NOARG_TYPED(ExtMgrDialog, TimeOutHdl, Idle *, void)
And that code itself should -not- be in an idle handler that runs all the time. Instead we should add an idle task whenever anything changes.
The reason the code is done like this is to avoid needing to take the SolarMutex in the implementation that updates the progress etc. which is useful in several cases for UNO components etc.
Anyhow - we should create a new (inside VCL) "ProgressBarAsync" class and encapsulate this functionality into VCL.
The methods - such as updating the progress %age, and the text etc. should take effect only asynchronously in an idle handler -but- the idle handler should only be triggered when some state actually changes =) a new %age, new text etc.
Then we should clean the cut/paste coding out of the above module.
JanI is default CC for Easy Hacks (Add Jan; remove LibreOffice Dev List from CC)
it seems the code pointers are no longer valid.
Could you please update them?