Crash test update, charts in writer with writer tables as data source

Caolán McNamara caolanm at redhat.com
Fri Mar 27 03:50:15 PDT 2015


On Thu, 2015-03-26 at 11:24 +0000, Crashtest VM wrote:
> New crashtest update available at http://dev-builds.libreoffice.org/crashtest/bd20a73f4791626a0e9a2eef81f7e74188e4f8bd/

AFAICS all the odt and sxw crashers are the same assert, where they have
embedded charts in the document. Layout occurs, during layout we want to
call getMapUnit on the objects which terrifyingly loads the object from
storage and updates it. The chart's data source is the document itself
and GetFormatAndCreateCursorFromRangeRep is called. That has a
"UnoActionRemoveContext" whatever that is which calls EndAction which
seems to want to flush pending layout actions or something of that
nature. Either way triggering the assert of SwLayAction that one is
already underway.

I haven't really any insight into the whole writer layout thing here,
but afaics there is not need to set the chart from loaded to running in
order to getMapUnit (which is always the same value) or to update its
visualSize. So...

http://cgit.freedesktop.org/libreoffice/core/commit/?id=757f461ef12548af0be470f7c05ff67df3dc1314

special cases charts and short-circuits that odd interaction, which
seems to work fine in practice.

C.



More information about the LibreOffice mailing list