[Libreoffice] cppu::OPropertySetHelper ABI backwards compatibility
Lionel Elie Mamane
lionel at mamane.lu
Sun Aug 21 03:08:24 PDT 2011
On Sun, Aug 21, 2011 at 01:54:17AM +0200, Lionel Elie Mamane wrote:
> Make XPropertSet2 not a child interface of XPropertySet.
> This is to preserve ABI backward compatibility with
> Added XPropertySet2 to allow disabling of change event
> From the second (later) commit log message, you intended to preserve
> ABI, but I get the impressions ABI backwards compatibility is still
> broken in a different way by the addition of
> virtual void SAL_CALL enableChangeListenerNotification( sal_Bool bEnable )
> From what I observe, at least with GNU GCC/g++ on Debian GNU/Linux
> amd64 (I wouldn't know about MSVC++ and g++ on MS Windows, but
> possibly it is the same), it seems all the virtual functions that are
> declared *after* that one in the header are shifted one position in
> the virtual function table, and that lookups in the virtual function
> table are by position, not by name/signature.
Maybe not. It seems my build was hosed, possibly because of wrong
inter-module dependencies so that a change to cppuhelper/propshlp.hxx
is not properly propagated everywhere.
I'm making new tests doing "make clean && make" every time, and I'll
let you know what I find out.
More information about the LibreOffice