On 30/05/13 17:44, Stephan Bergmann wrote:
The problem is that sc/util/scfilt.component claims that the scfilt
library contains an implementation of the
com.sun.star.sheet.FilterFormulaParser service with implementation
name "com.sun.star.comp.oox.xls.FormulaParser", but
scfilt_component_getFactory does not actually support it.
grr I missed than when I was locally grepping, ok now I understand
The ScParserFactoryMap ctor
(sc/source/core/tool/formulaparserpool.cxx) iterates over all known
implementations of the com.sun.star.sheet.FilterFormulaParser service
and tries to instantiate each one. It fails for this non-exisiting
implementation (which also appears to be the only one), but that is
silently ignored through a local try--catch.
I have no idea whether or not that effectively empty list of
FilterFormulaParser implementations in the ScParserFactoryMap ctor is
a problem or not, as I have not found a way to trigger that code, and
neither Moggi nor Kohei new exactly how to do that either
hmm I confess I an not quite sure how/when/why the implementatation was
removed, I remember moving the implementation ( like you mentioned )
perhaps I missed something in the move that made it seem like the
service could no longer be instantiated ( and then someone else removed
it ) I don't know, it's even possible I removed it myself ( do you know
from whatever archaeology you already did ? )
. I'm putting Eike on cc, maybe he can shed some light once he's back
from vacation.
Anyway, if that OOXMLFormulaParser implementation should be gone for
good, the dangling reference to it should be remove from
sc/util/scfilt.component.
I still believe the oox formula parser thingy was filter specific ( at
least it's name suggests that ) and if most likely did deserved to die.
The ScParserFactoryMap foo/goo introduces some doubt though about
whether indeed it should have been killed or not.
Noel
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice