[Libreoffice-commits] core.git: include/comphelper

Stephan Bergmann sbergman at redhat.com
Wed Mar 26 09:11:55 PDT 2014


 include/comphelper/listenernotification.hxx |   45 +++++++++-------------------
 1 file changed, 16 insertions(+), 29 deletions(-)

New commits:
commit b3847f3dfda6ed18f5f09f01354c529925c25889
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Mar 26 17:10:41 2014 +0100

    Work around MSC "'override' cannot be used with 'inline'" bug
    
    Change-Id: Icd3b09f098c19268ac888dd6195fb535979557ed

diff --git a/include/comphelper/listenernotification.hxx b/include/comphelper/listenernotification.hxx
index cac3a79..5ae133b 100644
--- a/include/comphelper/listenernotification.hxx
+++ b/include/comphelper/listenernotification.hxx
@@ -203,10 +203,16 @@ namespace comphelper
         inline bool    notify( const EventClass& _rEvent, NotificationMethod _pNotify ) SAL_THROW(( ::com::sun::star::uno::Exception ));
 
     protected:
-        inline virtual bool    implNotify(
+        virtual bool    implNotify(
                             const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& _rxListener,
                             const ::com::sun::star::lang::EventObject& _rEvent
-                        )   SAL_THROW( ( ::com::sun::star::uno::Exception ) ) SAL_OVERRIDE;
+                        )   SAL_THROW( ( ::com::sun::star::uno::Exception ) ) SAL_OVERRIDE
+        {
+            const EventClass& rTypedEvent( static_cast< const EventClass& >( _rEvent ) );
+            ListenerClass* pTypedListener( static_cast< ListenerClass* >( _rxListener.get() ) );
+            (pTypedListener->*m_pNotificationMethod)( rTypedEvent );
+            return true;
+        }
     };
 
 
@@ -219,19 +225,6 @@ namespace comphelper
         return bRet;
     }
 
-
-    template< class LISTENER, class EVENT >
-    inline bool OSimpleListenerContainer< LISTENER, EVENT >::implNotify(
-            const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& _rxListener,
-            const ::com::sun::star::lang::EventObject& _rEvent )   SAL_THROW( ( ::com::sun::star::uno::Exception ) )
-    {
-        const EventClass& rTypedEvent( static_cast< const EventClass& >( _rEvent ) );
-        ListenerClass* pTypedListener( static_cast< ListenerClass* >( _rxListener.get() ) );
-        (pTypedListener->*m_pNotificationMethod)( rTypedEvent );
-        return true;
-    }
-
-
     //= OListenerContainerBase
 
     /** is a specialization of OListenerContainer which saves you some additional type casts,
@@ -267,10 +260,16 @@ namespace comphelper
         using OListenerContainer::impl_notify;
 
     protected:
-        inline virtual bool    implNotify(
+        virtual bool    implNotify(
                             const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& _rxListener,
                             const ::com::sun::star::lang::EventObject& _rEvent
-                        )   SAL_THROW( ( ::com::sun::star::uno::Exception ) ) SAL_OVERRIDE;
+                        )   SAL_THROW( ( ::com::sun::star::uno::Exception ) ) SAL_OVERRIDE
+        {
+            return implTypedNotify(
+                ::com::sun::star::uno::Reference< ListenerClass >( static_cast< ListenerClass* >( _rxListener.get() ) ),
+                static_cast< const EventClass& >( _rEvent )
+            );
+        }
 
         virtual bool    implTypedNotify(
                             const ::com::sun::star::uno::Reference< ListenerClass >& _rxListener,
@@ -278,18 +277,6 @@ namespace comphelper
                         )   SAL_THROW( ( ::com::sun::star::uno::Exception ) ) = 0;
     };
 
-    template< class LISTENER, class EVENT >
-    inline bool OListenerContainerBase< LISTENER, EVENT >::implNotify(
-            const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& _rxListener,
-            const ::com::sun::star::lang::EventObject& _rEvent )   SAL_THROW( ( ::com::sun::star::uno::Exception ) )
-    {
-        return implTypedNotify(
-                    ::com::sun::star::uno::Reference< ListenerClass >( static_cast< ListenerClass* >( _rxListener.get() ) ),
-                    static_cast< const EventClass& >( _rEvent )
-        );
-    }
-
-
 } // namespace comphelper
 
 


More information about the Libreoffice-commits mailing list