On 05/23/2014 01:47 PM, Markus Mohrhard wrote:
On Fri, May 23, 2014 at 1:24 PM, Eike Rathke <er...@redhat.com
<mailto:er...@redhat.com>> wrote:
    On Friday, 2014-05-23 03:14:30 +0200, Markus Mohrhard wrote:

     > so by going through Lsan reports I noted that we have a few
    classes in
     > formula that are marked with SAL_NO_VTABLE and therefore have no
    virtual
     > protected destructors, This prevents us from deleting some of these
     > instances and it looks like people just leaked them in the past.

    What actually leaks, given that these classes have no member variables
    and only define interfaces as pure abstract base classes one derives
    from?


There is code in formula which generates objects from sc but can of
course only use the abstract interfaces. Instead of deleting the objects
we just leak them after use because the d'tor is protected.

If client code wants to polymorphically delete through IFunctionDescription (which I understand it does), then IFunctionDescription of course needs a public virtual dtor.

Whether or not to decorate IFunctionDescription with __declspec(novtable) (AKA SAL_NO_VTABLE) on Windows should be an orthogonal decision (at least, that's my---poor, as it is about Windows after all---understanding of __declspec(novtable)).

Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to