Hi all,
I’ve been getting an OSL_ENSURE failure when I run LibreOffice on my Ubuntu
Linux VM.
The error is:
warn:legacy.osl:25546:1:sw/source/core/attr/format.cxx:227:
SwFormat::~SwFormat: Def dependents!
This appears to be occuring because the OSL_ENSURE is calling on DerivedFrom(),
which actually returns the following:
return const_cast
<http://opengrok.libreoffice.org/s?defs=const_cast&project=core><SwFormat
<http://opengrok.libreoffice.org/xref/core/sw/inc/format.hxx#SwFormat>*>(static_cast
<http://opengrok.libreoffice.org/s?defs=static_cast&project=core><const
SwFormat
<http://opengrok.libreoffice.org/xref/core/sw/inc/format.hxx#SwFormat>*>(GetRegisteredIn
<http://opengrok.libreoffice.org/s?defs=GetRegisteredIn&project=core>()));
GetRegisteredIn() is just an event source of type SwModify, the odd thing is
that it calls on GetRegistedIn() which is NOT a member of SwModify (or any
child classes).
In fact, I’m surprised that this even compiles, as I was under the impression
that a static_cast was a compile time check...
http://opengrok.libreoffice.org/xref/core/sw/inc/format.hxx#110
<http://opengrok.libreoffice.org/xref/core/sw/inc/format.hxx#110>
Anyway, what *exactly* is this attempting to do? The name looks like it’s doing
a debugging check to ensure that the SwFormat class was registered in a derived
class, but I can’t see how this would ever work!
In fact, wouldn’t a dynamic_cast be better, as this most specifically down or
upcasts a pointer, and returns NULL if it fails?
Any advise on this would be greatly appreciated, got me thoroughly tricked...
Chris
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice