On Sun, Aug 21, 2011 at 01:54:17AM +0200, Lionel Elie Mamane wrote:
11207ae93191fb966676423e6d377c8292a8cf0b
Make XPropertSet2 not a child interface of XPropertySet.
This is to preserve ABI backward compatibility with
cppu::OPropertySetHelper.
80b1e662777100a7dfd80176a2b528880a838167
Added XPropertySet2 to allow disabling of change event
notifications.
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 )
throw(::com::sun::star::uno::RuntimeException);
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.
--
Lionel
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.