<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi all, <div class=""><br class=""></div><div class="">I’ve been getting an OSL_ENSURE failure when I run LibreOffice on my Ubuntu Linux VM. </div><div class=""><br class=""></div><div class="">The error is:</div><div class=""><br class=""></div><div class=""><div class="">warn:legacy.osl:25546:1:sw/source/core/attr/format.cxx:227: SwFormat::~SwFormat: Def dependents!</div></div><div class=""><br class=""></div><div class="">This appears to be occuring because the OSL_ENSURE is calling on DerivedFrom(), which actually returns the following:</div><div class=""><br class=""></div><div class=""><pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: normal; widows: 1; background-color: rgb(255, 255, 255);" class=""><b class="">return</b> <a href="http://opengrok.libreoffice.org/s?defs=const_cast&project=core" style="color: rgb(16, 88, 2); text-decoration: none;" class="">const_cast</a><<a class="f" href="http://opengrok.libreoffice.org/xref/core/sw/inc/format.hxx#SwFormat" style="color: rgb(153, 0, 153); text-decoration: none;">SwFormat</a>*>(<a href="http://opengrok.libreoffice.org/s?defs=static_cast&project=core" style="color: rgb(16, 88, 2); text-decoration: none;" class="">static_cast</a><<b class="">const</b> <a class="f" href="http://opengrok.libreoffice.org/xref/core/sw/inc/format.hxx#SwFormat" style="color: rgb(153, 0, 153); text-decoration: none;">SwFormat</a>*>(<a href="http://opengrok.libreoffice.org/s?defs=GetRegisteredIn&project=core" style="color: rgb(16, 88, 2); text-decoration: none;" class="">GetRegisteredIn</a>()));</pre><div class=""><br class=""></div></div><div class="">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). </div><div class=""><br class=""></div><div class="">In fact, I’m surprised that this even compiles, as I was under the impression that a static_cast was a compile time check...</div><div class=""><br class=""></div><div class=""><a href="http://opengrok.libreoffice.org/xref/core/sw/inc/format.hxx#110" class="">http://opengrok.libreoffice.org/xref/core/sw/inc/format.hxx#110</a></div><div class=""><br class=""></div><div class="">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!</div><div class=""><br class=""></div><div class="">In fact, wouldn’t a dynamic_cast be better, as this most specifically down or upcasts a pointer, and returns NULL if it fails?</div><div class=""><br class=""></div><div class="">Any advise on this would be greatly appreciated, got me thoroughly tricked...</div><div class=""><br class=""></div><div class="">Chris</div></body></html>