diff options
-rw-r--r-- | cppuhelper/inc/cppuhelper/implementationentry.hxx | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/cppuhelper/inc/cppuhelper/implementationentry.hxx b/cppuhelper/inc/cppuhelper/implementationentry.hxx index 655ac2bc0fa8..747ec7f942d3 100644 --- a/cppuhelper/inc/cppuhelper/implementationentry.hxx +++ b/cppuhelper/inc/cppuhelper/implementationentry.hxx @@ -31,6 +31,14 @@ #include <cppuhelper/factory.hxx> #include "cppuhelperdllapi.h" +// MinGW wants it the one way around while MSVC wants it the other (and +// everywhere else, SAL_CALL is empty, so doesn't matter): +#if defined __GNUC__ +#define MY_FN_PTR(name) SAL_CALL (* name) +#else +#define MY_FN_PTR(name) (SAL_CALL * name) +#endif + namespace cppu { /** One struct instance represents all data necessary for registering one service implementation. @@ -45,17 +53,17 @@ struct ImplementationEntry /** Function that returns the implementation-name of the implementation (same as XServiceInfo.getImplementationName() ). */ - rtl::OUString SAL_CALL ( * getImplementationName )(); + rtl::OUString MY_FN_PTR( getImplementationName )(); /** Function that returns all supported servicenames of the implementation ( same as XServiceInfo.getSupportedServiceNames() ). */ - com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL ( * getSupportedServiceNames ) (); + com::sun::star::uno::Sequence< rtl::OUString > MY_FN_PTR( getSupportedServiceNames ) (); /** Function that creates a SingleComponentFactory. */ - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > SAL_CALL - ( * createFactory )( + ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > + MY_FN_PTR( createFactory )( ComponentFactoryFunc fptr, ::rtl::OUString const & rImplementationName, ::com::sun::star::uno::Sequence< ::rtl::OUString > const & rServiceNames, |