diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-03-14 13:27:56 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-03-14 13:32:02 +0100 |
commit | 6e67c03dc0225fc66343546b14e902b9d238b1a3 (patch) | |
tree | 6e078783d65e280a721b4e46f0ae0ca6b950f121 | |
parent | fe4be5047988782f3143a1af505c5eecb3f2af5a (diff) |
Enable -Wnon-virtual-dtor for GCC 4.6
...which has the necessary features to support it.
Change a lot of classes to either contain a protected non-virtual dtor
(which is backwards compatible, so even works for cppumaker-generated
UNO headers) or a public virtual one.
cppuhelper/propertysetmixin.hxx still needs to disable the warning, as
the relevant class has a non-virtual dtor but friends, which would still
cause GCC to warn.
Includes a patch for libcmis, intended to be upstreamed.
269 files changed, 972 insertions, 63 deletions
diff --git a/basctl/source/basicide/documentenumeration.hxx b/basctl/source/basicide/documentenumeration.hxx index 6778c676c15c..d32878717500 100644 --- a/basctl/source/basicide/documentenumeration.hxx +++ b/basctl/source/basicide/documentenumeration.hxx @@ -62,6 +62,9 @@ namespace basctl { namespace docs { { public: virtual bool includeDocument( const DocumentDescriptor& _rDocument ) const = 0; + + protected: + ~IDocumentDescriptorFilter() {} }; //==================================================================== diff --git a/basctl/source/basicide/scriptdocument.cxx b/basctl/source/basicide/scriptdocument.cxx index 97124f287e97..a3bde8850d83 100644 --- a/basctl/source/basicide/scriptdocument.cxx +++ b/basctl/source/basicide/scriptdocument.cxx @@ -147,6 +147,8 @@ namespace basctl public: FilterDocuments( bool _bFilterInvisible ) : m_bFilterInvisible( _bFilterInvisible ) { } + virtual ~FilterDocuments() {} + virtual bool includeDocument( const docs::DocumentDescriptor& _rDocument ) const; private: diff --git a/basebmp/inc/basebmp/bitmapdevice.hxx b/basebmp/inc/basebmp/bitmapdevice.hxx index ff15ad8a8919..5d67344033b2 100644 --- a/basebmp/inc/basebmp/bitmapdevice.hxx +++ b/basebmp/inc/basebmp/bitmapdevice.hxx @@ -67,6 +67,9 @@ struct IBitmapDeviceDamageTracker { /// gets called when said region is clobbered virtual void damaged(const basegfx::B2IBox& rDamageRect) const = 0; + +protected: + ~IBitmapDeviceDamageTracker() {} }; /** Definition of BitmapDevice interface diff --git a/basic/inc/basic/basicmanagerrepository.hxx b/basic/inc/basic/basicmanagerrepository.hxx index 0b25412e702b..bf7d8a803162 100644 --- a/basic/inc/basic/basicmanagerrepository.hxx +++ b/basic/inc/basic/basicmanagerrepository.hxx @@ -65,6 +65,9 @@ namespace basic const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& _rxForDocument, BasicManager& _rBasicManager ) = 0; + + protected: + ~BasicManagerCreationListener() {} }; //==================================================================== diff --git a/basic/inc/basic/basmgr.hxx b/basic/inc/basic/basmgr.hxx index 04820ad5c8e3..d7b1c3fe5b71 100644 --- a/basic/inc/basic/basmgr.hxx +++ b/basic/inc/basic/basmgr.hxx @@ -87,6 +87,9 @@ public: virtual String getLibraryPassword( const String& rLibraryName ) = 0; virtual void clearLibraryPassword( const String& rLibraryName ) = 0; virtual sal_Bool hasLibraryPassword( const String& rLibraryName ) = 0; + +protected: + ~OldBasicPassword() {} }; struct LibraryContainerInfo diff --git a/canvas/inc/canvas/base/sprite.hxx b/canvas/inc/canvas/base/sprite.hxx index 38a2270b8e5c..161551b64ed2 100644 --- a/canvas/inc/canvas/base/sprite.hxx +++ b/canvas/inc/canvas/base/sprite.hxx @@ -99,6 +99,9 @@ namespace canvas /** Query sprite priority */ virtual double getPriority() const = 0; + + protected: + ~Sprite() {} }; /** Functor providing a StrictWeakOrdering for sprite references diff --git a/canvas/inc/canvas/base/spritesurface.hxx b/canvas/inc/canvas/base/spritesurface.hxx index c60099f1563b..6ff1c3c8c954 100644 --- a/canvas/inc/canvas/base/spritesurface.hxx +++ b/canvas/inc/canvas/base/spritesurface.hxx @@ -68,6 +68,9 @@ namespace canvas virtual void updateSprite( const Sprite::Reference& rSprite, const ::basegfx::B2DPoint& rPos, const ::basegfx::B2DRange& rUpdateArea ) = 0; + + protected: + ~SpriteSurface() {} }; } diff --git a/canvas/source/cairo/cairo_sprite.hxx b/canvas/source/cairo/cairo_sprite.hxx index b5ecb85b6b97..ca96f3786ac4 100644 --- a/canvas/source/cairo/cairo_sprite.hxx +++ b/canvas/source/cairo/cairo_sprite.hxx @@ -66,6 +66,9 @@ namespace cairocanvas virtual void redraw( const ::cairo::CairoSharedPtr& pCairo, const ::basegfx::B2DPoint& rOrigOutputPos, bool bBufferedUpdate ) const = 0; + + protected: + ~Sprite() {} }; } diff --git a/canvas/source/null/sprite.hxx b/canvas/source/null/sprite.hxx index 56a38be96914..dc25d23ce6e4 100644 --- a/canvas/source/null/sprite.hxx +++ b/canvas/source/null/sprite.hxx @@ -42,6 +42,9 @@ namespace nullcanvas /** Redraw sprite */ virtual void redraw() const = 0; + + protected: + ~Sprite() {} }; } diff --git a/canvas/source/vcl/sprite.hxx b/canvas/source/vcl/sprite.hxx index b2713eb4486d..b86137d4f383 100644 --- a/canvas/source/vcl/sprite.hxx +++ b/canvas/source/vcl/sprite.hxx @@ -66,6 +66,9 @@ namespace vclcanvas virtual void redraw( OutputDevice& rOutDev, const ::basegfx::B2DPoint& rPos, bool bBufferedUpdate ) const = 0; + + protected: + ~Sprite() {} }; } diff --git a/chart2/source/controller/chartapiwrapper/ReferenceSizePropertyProvider.hxx b/chart2/source/controller/chartapiwrapper/ReferenceSizePropertyProvider.hxx index 1740132ccec1..b6ae4c64ed54 100644 --- a/chart2/source/controller/chartapiwrapper/ReferenceSizePropertyProvider.hxx +++ b/chart2/source/controller/chartapiwrapper/ReferenceSizePropertyProvider.hxx @@ -40,6 +40,9 @@ public: virtual void updateReferenceSize() = 0; virtual ::com::sun::star::uno::Any getReferenceSize() = 0; virtual ::com::sun::star::awt::Size getCurrentSizeForReference() = 0; + +protected: + ~ReferenceSizePropertyProvider() {} }; } // namespace wrapper diff --git a/chart2/source/controller/inc/DrawViewWrapper.hxx b/chart2/source/controller/inc/DrawViewWrapper.hxx index fda4898f274c..fb1ce41ee9ff 100644 --- a/chart2/source/controller/inc/DrawViewWrapper.hxx +++ b/chart2/source/controller/inc/DrawViewWrapper.hxx @@ -49,6 +49,9 @@ class MarkHandleProvider public: virtual bool getMarkHandles( SdrHdlList& rHdlList ) =0; virtual bool getFrameDragSingles() =0; + +protected: + ~MarkHandleProvider() {} }; class DrawViewWrapper : public E3dView diff --git a/chart2/source/controller/inc/RangeSelectionListener.hxx b/chart2/source/controller/inc/RangeSelectionListener.hxx index d0a4f97bfbad..70886493d23e 100644 --- a/chart2/source/controller/inc/RangeSelectionListener.hxx +++ b/chart2/source/controller/inc/RangeSelectionListener.hxx @@ -41,6 +41,9 @@ class RangeSelectionListenerParent public: virtual void listeningFinished( const ::rtl::OUString & rNewRange ) = 0; virtual void disposingRangeSelection() = 0; + +protected: + ~RangeSelectionListenerParent() {} }; // ---------------------------------------- diff --git a/chart2/source/controller/inc/TabPageNotifiable.hxx b/chart2/source/controller/inc/TabPageNotifiable.hxx index e34de6eee76a..b3771dbc1848 100644 --- a/chart2/source/controller/inc/TabPageNotifiable.hxx +++ b/chart2/source/controller/inc/TabPageNotifiable.hxx @@ -44,6 +44,9 @@ class TabPageNotifiable public: virtual void setInvalidPage( TabPage * pTabPage ) = 0; virtual void setValidPage( TabPage * pTabPage ) = 0; + +protected: + ~TabPageNotifiable() {} }; } // namespace chart diff --git a/chart2/source/inc/ConfigItemListener.hxx b/chart2/source/inc/ConfigItemListener.hxx index 82a23bbcb7cb..f29e4ea28a04 100644 --- a/chart2/source/inc/ConfigItemListener.hxx +++ b/chart2/source/inc/ConfigItemListener.hxx @@ -38,6 +38,9 @@ class OOO_DLLPUBLIC_CHARTTOOLS ConfigItemListener { public: virtual void notify( const ::rtl::OUString & rPropertyName ) = 0; + +protected: + ~ConfigItemListener() {} }; } // namespace chart diff --git a/chart2/source/inc/chartview/ExplicitValueProvider.hxx b/chart2/source/inc/chartview/ExplicitValueProvider.hxx index 8d944192b2e9..cf20374b75ae 100644 --- a/chart2/source/inc/chartview/ExplicitValueProvider.hxx +++ b/chart2/source/inc/chartview/ExplicitValueProvider.hxx @@ -109,6 +109,9 @@ public: static sal_Int32 getExplicitPercentageNumberFormatKeyForDataLabel( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xSeriesOrPointProp , const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >& xNumberFormatsSupplier ); + +protected: + ~ExplicitValueProvider() {} }; //............................................................................. diff --git a/chart2/source/model/main/UndoManager.cxx b/chart2/source/model/main/UndoManager.cxx index e5e6c46ad7f1..95095db4385a 100644 --- a/chart2/source/model/main/UndoManager.cxx +++ b/chart2/source/model/main/UndoManager.cxx @@ -192,6 +192,7 @@ namespace chart class DummyMutex : public ::framework::IMutex { public: + virtual ~DummyMutex() {} virtual void acquire() { } virtual void release() { } }; diff --git a/chart2/source/view/inc/LegendEntryProvider.hxx b/chart2/source/view/inc/LegendEntryProvider.hxx index fd2c41c338c2..52b4a4b7683e 100644 --- a/chart2/source/view/inc/LegendEntryProvider.hxx +++ b/chart2/source/view/inc/LegendEntryProvider.hxx @@ -89,6 +89,9 @@ public: const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& xContext ) = 0; + +protected: + ~LegendEntryProvider() {} }; } // namespace chart diff --git a/chart2/source/view/inc/MinimumAndMaximumSupplier.hxx b/chart2/source/view/inc/MinimumAndMaximumSupplier.hxx index b84fba786baf..e0c5bd5f5c48 100644 --- a/chart2/source/view/inc/MinimumAndMaximumSupplier.hxx +++ b/chart2/source/view/inc/MinimumAndMaximumSupplier.hxx @@ -65,6 +65,9 @@ public: //return a constant out of ::com::sun::star::chart::TimeUnit that allows to display the smallest distance between occuring dates virtual long calculateTimeResolutionOnXAxis() = 0; virtual void setTimeResolutionOnXAxis( long nTimeResolution, const Date& rNullDate ) = 0; + +protected: + ~MinimumAndMaximumSupplier() {} }; class MergedMinimumAndMaximumSupplier : public MinimumAndMaximumSupplier diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx index 763441bdd932..7c0326d7cff2 100644 --- a/codemaker/source/cppumaker/cpputype.cxx +++ b/codemaker/source/cppumaker/cpputype.cxx @@ -1412,8 +1412,13 @@ void InterfaceType::dumpDeclaration(FileStream& o) o << "\n" << indent() << ("static inline ::com::sun::star::uno::Type const & SAL_CALL" - " static_type(void * = 0);\n"); - + " static_type(void * = 0);\n\n"); + dec(); + o << "protected:\n"; + inc(); + o << indent() << "~" << m_name + << ("() throw () {} // avoid warnings about virtual members and" + " non-virtual dtor\n"); dec(); o << "};\n\n"; } diff --git a/comphelper/inc/comphelper/accessiblecomponenthelper.hxx b/comphelper/inc/comphelper/accessiblecomponenthelper.hxx index 582d77a99283..25e5bdd05285 100644 --- a/comphelper/inc/comphelper/accessiblecomponenthelper.hxx +++ b/comphelper/inc/comphelper/accessiblecomponenthelper.hxx @@ -77,7 +77,10 @@ namespace comphelper struct OAccessibleComponentHelper_Base : public ::cppu::ImplHelper1< ::com::sun::star::accessibility::XAccessibleComponent > - {}; + { + protected: + ~OAccessibleComponentHelper_Base() {} + }; /** a helper class for implementing an AccessibleContext which at the same time supports an XAccessibleComponent interface. diff --git a/comphelper/inc/comphelper/accessibleselectionhelper.hxx b/comphelper/inc/comphelper/accessibleselectionhelper.hxx index 972113ffb115..73b446f70cb6 100644 --- a/comphelper/inc/comphelper/accessibleselectionhelper.hxx +++ b/comphelper/inc/comphelper/accessibleselectionhelper.hxx @@ -56,6 +56,8 @@ namespace comphelper OCommonAccessibleSelection(); + ~OCommonAccessibleSelection(); + protected: // access to context - still waiting to be overwritten diff --git a/comphelper/inc/comphelper/accessiblewrapper.hxx b/comphelper/inc/comphelper/accessiblewrapper.hxx index d091f9fb458a..48aeed10c625 100644 --- a/comphelper/inc/comphelper/accessiblewrapper.hxx +++ b/comphelper/inc/comphelper/accessiblewrapper.hxx @@ -61,7 +61,10 @@ namespace comphelper struct OAccessibleWrapper_Base : public ::cppu::ImplHelper1 < ::com::sun::star::accessibility::XAccessible > - {}; + { + protected: + ~OAccessibleWrapper_Base() {} + }; /** a class which aggregates a proxy for an XAccessible, and wrapping the context returned by this XAccessible. diff --git a/comphelper/inc/comphelper/asyncnotification.hxx b/comphelper/inc/comphelper/asyncnotification.hxx index 0ca35a3bf2a5..eca91a169e5c 100644 --- a/comphelper/inc/comphelper/asyncnotification.hxx +++ b/comphelper/inc/comphelper/asyncnotification.hxx @@ -87,6 +87,9 @@ namespace comphelper virtual void SAL_CALL acquire() = 0; virtual void SAL_CALL release() = 0; + + protected: + ~IEventProcessor() {} }; //==================================================================== diff --git a/comphelper/inc/comphelper/componentbase.hxx b/comphelper/inc/comphelper/componentbase.hxx index db3e558904b9..7c82ea371a96 100644 --- a/comphelper/inc/comphelper/componentbase.hxx +++ b/comphelper/inc/comphelper/componentbase.hxx @@ -71,6 +71,8 @@ namespace comphelper { } + ~ComponentBase() {} + /** marks the instance as initialized Subsequent instantiations of a ComponentMethodGuard won't throw the NotInitializedException now. diff --git a/comphelper/inc/comphelper/embeddedobjectcontainer.hxx b/comphelper/inc/comphelper/embeddedobjectcontainer.hxx index 8d1aab98ed24..d58d288f3360 100644 --- a/comphelper/inc/comphelper/embeddedobjectcontainer.hxx +++ b/comphelper/inc/comphelper/embeddedobjectcontainer.hxx @@ -52,6 +52,9 @@ namespace comphelper virtual com::sun::star::uno::Reference < com::sun::star::embed::XStorage > getStorage() const = 0; virtual ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler > getInteractionHandler() const = 0; virtual bool isEnableSetModified() const = 0; + + protected: + ~IEmbeddedHelper() {} }; struct EmbedImpl; diff --git a/comphelper/inc/comphelper/propagg.hxx b/comphelper/inc/comphelper/propagg.hxx index 6286e9d79088..b6b2df61f221 100644 --- a/comphelper/inc/comphelper/propagg.hxx +++ b/comphelper/inc/comphelper/propagg.hxx @@ -83,6 +83,9 @@ public: preferences for the given property */ virtual sal_Int32 getPreferedPropertyId(const ::rtl::OUString& _rName) = 0; + +protected: + ~IPropertyInfoService() {} }; /** diff --git a/comphelper/inc/comphelper/serviceinfohelper.hxx b/comphelper/inc/comphelper/serviceinfohelper.hxx index e742c938cb4e..39c95ee4f558 100644 --- a/comphelper/inc/comphelper/serviceinfohelper.hxx +++ b/comphelper/inc/comphelper/serviceinfohelper.hxx @@ -51,6 +51,9 @@ public: // helper static void addToSequence( ::com::sun::star::uno::Sequence< ::rtl::OUString >& rSeq, sal_uInt16 nServices, /* sal_Char* */... ) throw(); static sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& SupportedServices ) throw(); + +protected: + ~ServiceInfoHelper() {} }; } diff --git a/comphelper/source/misc/accessibleselectionhelper.cxx b/comphelper/source/misc/accessibleselectionhelper.cxx index 44fb4cb7bdb3..4b77e4fa809f 100644 --- a/comphelper/source/misc/accessibleselectionhelper.cxx +++ b/comphelper/source/misc/accessibleselectionhelper.cxx @@ -46,6 +46,8 @@ namespace comphelper { } + OCommonAccessibleSelection::~OCommonAccessibleSelection() {} + //-------------------------------------------------------------------- void SAL_CALL OCommonAccessibleSelection::selectAccessibleChild( sal_Int32 nChildIndex ) throw (IndexOutOfBoundsException, RuntimeException) { diff --git a/connectivity/inc/connectivity/IParseContext.hxx b/connectivity/inc/connectivity/IParseContext.hxx index 16bae3465820..1724b7310bbc 100644 --- a/connectivity/inc/connectivity/IParseContext.hxx +++ b/connectivity/inc/connectivity/IParseContext.hxx @@ -102,6 +102,9 @@ namespace connectivity <p>if this is not overridden by derived classes, it returns the static default locale.</p> */ virtual ::com::sun::star::lang::Locale getPreferredLocale( ) const = 0; + + protected: + ~IParseContext() {} }; } diff --git a/connectivity/inc/connectivity/SQLStatementHelper.hxx b/connectivity/inc/connectivity/SQLStatementHelper.hxx index c64268debfd9..daf1ddc7308e 100644 --- a/connectivity/inc/connectivity/SQLStatementHelper.hxx +++ b/connectivity/inc/connectivity/SQLStatementHelper.hxx @@ -42,6 +42,9 @@ namespace dbtools { public: virtual void addComment(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor,::rtl::OUStringBuffer& _rOut) = 0; + + protected: + ~ISQLStatementHelper() {} }; //......................................................................... diff --git a/connectivity/inc/connectivity/sdbcx/IRefreshable.hxx b/connectivity/inc/connectivity/sdbcx/IRefreshable.hxx index 769ed2107536..318f006d1216 100644 --- a/connectivity/inc/connectivity/sdbcx/IRefreshable.hxx +++ b/connectivity/inc/connectivity/sdbcx/IRefreshable.hxx @@ -39,18 +39,27 @@ namespace connectivity { public: virtual void refreshGroups() = 0; + + protected: + ~IRefreshableGroups() {} }; class OOO_DLLPUBLIC_DBTOOLS SAL_NO_VTABLE IRefreshableUsers { public: virtual void refreshUsers() = 0; + + protected: + ~IRefreshableUsers() {} }; class OOO_DLLPUBLIC_DBTOOLS SAL_NO_VTABLE IRefreshableColumns { public: virtual void refreshColumns() = 0; + + protected: + ~IRefreshableColumns() {} }; } } diff --git a/connectivity/inc/connectivity/sdbcx/VCollection.hxx b/connectivity/inc/connectivity/sdbcx/VCollection.hxx index c3262b450ca0..6db38b278464 100644 --- a/connectivity/inc/connectivity/sdbcx/VCollection.hxx +++ b/connectivity/inc/connectivity/sdbcx/VCollection.hxx @@ -73,6 +73,7 @@ namespace connectivity class OOO_DLLPUBLIC_DBTOOLS SAL_NO_VTABLE IObjectCollection { public: + virtual ~IObjectCollection(); virtual void reserve(size_t nLength) = 0; virtual bool exists(const ::rtl::OUString& _sName ) = 0; virtual bool empty() = 0; diff --git a/connectivity/inc/connectivity/virtualdbtools.hxx b/connectivity/inc/connectivity/virtualdbtools.hxx index fe023e2acfc9..cf42a52db14b 100644 --- a/connectivity/inc/connectivity/virtualdbtools.hxx +++ b/connectivity/inc/connectivity/virtualdbtools.hxx @@ -226,6 +226,9 @@ namespace connectivity const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent, ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxActualConnection ) = 0; + + protected: + ~IDataAccessTools() {} }; //================================================================ @@ -244,6 +247,9 @@ namespace connectivity virtual sal_Int32 getSupportedTextEncodings( ::std::vector< rtl_TextEncoding >& /* [out] */ _rEncs ) const = 0; + + protected: + ~IDataAccessCharSet() {} }; //================================================================ @@ -272,6 +278,9 @@ namespace connectivity const ::com::sun::star::lang::Locale& _rLocale, const ::com::sun::star::util::Date& _rNullDate ) const = 0; + + protected: + ~IDataAccessTypeConversion() {} }; //================================================================ @@ -295,6 +304,9 @@ namespace connectivity const sal_Char _cDecSeparator, const IParseContext* _pContext ) const = 0; + + protected: + ~ISQLParseNode() {} }; //================================================================ @@ -313,6 +325,9 @@ namespace connectivity ) const = 0; virtual const IParseContext& getContext() const = 0; + + protected: + ~ISQLParser() {} }; //================================================================ @@ -344,6 +359,9 @@ namespace connectivity const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& _rxRowSet, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumn ) = 0; + + protected: + ~IDataAccessToolsFactory() {} }; //.................................................................... diff --git a/connectivity/inc/connectivity/warningscontainer.hxx b/connectivity/inc/connectivity/warningscontainer.hxx index 273390ccbf7f..937fd8be343b 100644 --- a/connectivity/inc/connectivity/warningscontainer.hxx +++ b/connectivity/inc/connectivity/warningscontainer.hxx @@ -50,6 +50,9 @@ namespace dbtools virtual void appendWarning(const ::com::sun::star::sdbc::SQLException& _rWarning) = 0; virtual void appendWarning(const ::com::sun::star::sdbc::SQLWarning& _rWarning) = 0; virtual void appendWarning(const ::com::sun::star::sdb::SQLContext& _rContext) = 0; + + protected: + ~IWarningsContainer() {} }; //==================================================================== diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSProfile.cxx b/connectivity/source/drivers/mozab/bootstrap/MNSProfile.cxx index 00a061c9b102..12d4fa9aeb0e 100644 --- a/connectivity/source/drivers/mozab/bootstrap/MNSProfile.cxx +++ b/connectivity/source/drivers/mozab/bootstrap/MNSProfile.cxx @@ -601,8 +601,10 @@ nsProfile::CreateInstance(nsISupports* aOuter, const nsID& aIID, } //Register profile manager +#include "pre_include_mozilla.h" #include "nsIComponentManager.h" #include "nsIComponentRegistrar.h" +#include "post_include_mozilla.h" static const nsCID kProfileManagerCID = NS_PROFILE_CID; diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx index 16787167476b..98a4a949507c 100644 --- a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx +++ b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx @@ -66,9 +66,10 @@ #include <rmsdef.h> #endif +#include "pre_include_mozilla.h" #include "nsICharsetConverterManager.h" #include "nsIPlatformCharset.h" - +#include "post_include_mozilla.h" #if defined (XP_UNIX) # define USER_ENVIRONMENT_VARIABLE "USER" diff --git a/connectivity/source/drivers/mozab/mozillasrc/MDatabaseMetaDataHelper.cxx b/connectivity/source/drivers/mozab/mozillasrc/MDatabaseMetaDataHelper.cxx index 70a6b7bff246..ebee40a1419f 100644 --- a/connectivity/source/drivers/mozab/mozillasrc/MDatabaseMetaDataHelper.cxx +++ b/connectivity/source/drivers/mozab/mozillasrc/MDatabaseMetaDataHelper.cxx @@ -40,7 +40,10 @@ #include <osl/mutex.hxx> #include <osl/conditn.hxx> +#include "pre_include_mozilla.h" #include <nsIAbDirFactoryService.h> +#include "post_include_mozilla.h" + #include <MNSInit.hxx> #include <MNameMapper.hxx> #include "MNSMozabProxy.hxx" diff --git a/connectivity/source/drivers/mozab/post_include_mozilla.h b/connectivity/source/drivers/mozab/post_include_mozilla.h index a63db2b480c8..37fbc9a278b4 100755 --- a/connectivity/source/drivers/mozab/post_include_mozilla.h +++ b/connectivity/source/drivers/mozab/post_include_mozilla.h @@ -26,7 +26,9 @@ * ************************************************************************/ -#if defined __SUNPRO_CC +#if defined __GNUC__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) +#pragma GCC diagnostic pop +#elif defined __SUNPRO_CC #pragma enable_warn #elif defined _MSC_VER #pragma warning(pop) diff --git a/connectivity/source/drivers/mozab/pre_include_mozilla.h b/connectivity/source/drivers/mozab/pre_include_mozilla.h index 7e2c5fe6607d..81e407ba37d4 100755 --- a/connectivity/source/drivers/mozab/pre_include_mozilla.h +++ b/connectivity/source/drivers/mozab/pre_include_mozilla.h @@ -55,8 +55,9 @@ #endif #endif -#if defined __GNUC__ - #pragma GCC system_header +#if defined __GNUC__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wnon-virtual-dtor" #elif defined __SUNPRO_CC #pragma disable_warn #elif defined _MSC_VER diff --git a/connectivity/source/inc/TResultSetHelper.hxx b/connectivity/source/inc/TResultSetHelper.hxx index 874b9d93d82b..e32e9ed11f4b 100644 --- a/connectivity/source/inc/TResultSetHelper.hxx +++ b/connectivity/source/inc/TResultSetHelper.hxx @@ -52,6 +52,9 @@ namespace connectivity virtual sal_Int32 getDriverPos() const = 0; virtual sal_Bool deletedVisible() const = 0; virtual sal_Bool isRowDeleted() const = 0; + + protected: + ~IResultSetHelper() {} }; } diff --git a/connectivity/source/inc/hsqldb/HConnection.hxx b/connectivity/source/inc/hsqldb/HConnection.hxx index f86fdb9f4432..1102e7e0d9f2 100644 --- a/connectivity/source/inc/hsqldb/HConnection.hxx +++ b/connectivity/source/inc/hsqldb/HConnection.hxx @@ -52,6 +52,9 @@ namespace connectivity public: virtual ::osl::Mutex& getMutex() const = 0; virtual void checkDisposed() const = 0; + + protected: + ~IMethodGuardAccess() {} }; //========================================================================== diff --git a/connectivity/source/sdbcx/VCollection.cxx b/connectivity/source/sdbcx/VCollection.cxx index 66ccb4d92df5..c4f76eef2d87 100644 --- a/connectivity/source/sdbcx/VCollection.cxx +++ b/connectivity/source/sdbcx/VCollection.cxx @@ -231,7 +231,8 @@ namespace // ----------------------------------------------------------------------------- }; } -// ----------------------------------------------------------------------------- + +IObjectCollection::~IObjectCollection() {} IMPLEMENT_SERVICE_INFO(OCollection,"com.sun.star.sdbcx.VContainer" , "com.sun.star.sdbcx.Container") diff --git a/cppu/qa/Makefile b/cppu/qa/Makefile index 99a7eec22be3..a68567d66415 100644 --- a/cppu/qa/Makefile +++ b/cppu/qa/Makefile @@ -26,11 +26,11 @@ # instead of those above. gb_PARTIALBUILD:=T -include $(GBUILDDIR)/gbuild_simple.mk +include $(GBUILDDIR)/gbuild.mk all: qa/cppumaker.flag qa/cppumaker/cppumaker.flag -%/cppumaker.flag: %/cppumaker.rdb +%/cppumaker.flag: %/cppumaker.rdb $(gb_UnoApiTarget_CPPUMAKERTARGET) $(call gb_Helper_abbreviate_dirs_native, \ $(call gb_Helper_execute,cppumaker) -O. -BUCR -C $< $(OUTDIR_FOR_BUILD)/bin/udkapi.rdb) touch $@ diff --git a/cppu/qa/test_unotype.cxx b/cppu/qa/test_unotype.cxx index 157cfcb1304d..546200ac7198 100644 --- a/cppu/qa/test_unotype.cxx +++ b/cppu/qa/test_unotype.cxx @@ -74,9 +74,17 @@ struct DerivedException1: css::uno::Exception {}; struct DerivedException2: css::uno::RuntimeException {}; -struct DerivedInterface1: css::uno::XInterface {}; +struct DerivedInterface1: css::uno::XInterface { +private: + ~DerivedInterface1() {} + // avoid warnings about virtual members and non-virtual dtor +}; -struct DerivedInterface2: css::uno::XComponentContext {}; +struct DerivedInterface2: css::uno::XComponentContext { +private: + ~DerivedInterface2() {} + // avoid warnings about virtual members and non-virtual dtor +}; class Test: public ::CppUnit::TestFixture { public: diff --git a/cppu/source/threadpool/current.cxx b/cppu/source/threadpool/current.cxx index f1194c91003e..87b8c415d98c 100644 --- a/cppu/source/threadpool/current.cxx +++ b/cppu/source/threadpool/current.cxx @@ -54,6 +54,9 @@ public: virtual void SAL_CALL slot_queryInterface() = 0; virtual void SAL_CALL acquire() throw () = 0; virtual void SAL_CALL release() throw () = 0; +protected: + ~XInterface() {} + // avoid warnings about virtual members and non-virtual dtor }; //-------------------------------------------------------------------------------------------------- static typelib_InterfaceTypeDescription * get_type_XCurrentContext() diff --git a/cppuhelper/inc/cppuhelper/implbase.hxx b/cppuhelper/inc/cppuhelper/implbase.hxx index 34cfed2350f0..85051fb407a2 100644 --- a/cppuhelper/inc/cppuhelper/implbase.hxx +++ b/cppuhelper/inc/cppuhelper/implbase.hxx @@ -186,6 +186,7 @@ class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplHelperBase##N \ , __PUBLIC_IFC##N \ { \ protected: \ + ~ImplHelperBase##N() throw () {} \ ClassData & SAL_CALL getClassData( ClassDataBase & s_aCD ) SAL_THROW(()) \ { \ ClassData & rCD = * static_cast< ClassData * >( &s_aCD ); \ @@ -221,6 +222,8 @@ public: \ { return this->getClassData( s_aCD ).getTypes(); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return this->getClassData( s_aCD ).getImplementationId(); } \ +protected: \ + ~ImplHelper##N() throw () {} \ }; \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakImplHelper##N \ diff --git a/cppuhelper/inc/cppuhelper/implbase1.hxx b/cppuhelper/inc/cppuhelper/implbase1.hxx index d4cbeea67dd1..c49c9162a14c 100644 --- a/cppuhelper/inc/cppuhelper/implbase1.hxx +++ b/cppuhelper/inc/cppuhelper/implbase1.hxx @@ -85,6 +85,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper1() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase10.hxx b/cppuhelper/inc/cppuhelper/implbase10.hxx index 1ea06d4bf935..8a51770601f3 100644 --- a/cppuhelper/inc/cppuhelper/implbase10.hxx +++ b/cppuhelper/inc/cppuhelper/implbase10.hxx @@ -94,6 +94,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper10() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase11.hxx b/cppuhelper/inc/cppuhelper/implbase11.hxx index bbcd67533c03..4c1a307ae116 100644 --- a/cppuhelper/inc/cppuhelper/implbase11.hxx +++ b/cppuhelper/inc/cppuhelper/implbase11.hxx @@ -95,6 +95,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper11() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase12.hxx b/cppuhelper/inc/cppuhelper/implbase12.hxx index 4211abc4c99a..934dfbe55b83 100644 --- a/cppuhelper/inc/cppuhelper/implbase12.hxx +++ b/cppuhelper/inc/cppuhelper/implbase12.hxx @@ -96,6 +96,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper12() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase2.hxx b/cppuhelper/inc/cppuhelper/implbase2.hxx index 39983d61df39..b77947a8cdc8 100644 --- a/cppuhelper/inc/cppuhelper/implbase2.hxx +++ b/cppuhelper/inc/cppuhelper/implbase2.hxx @@ -85,6 +85,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper2() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase3.hxx b/cppuhelper/inc/cppuhelper/implbase3.hxx index 0ed901fd82f6..88eef99e45af 100644 --- a/cppuhelper/inc/cppuhelper/implbase3.hxx +++ b/cppuhelper/inc/cppuhelper/implbase3.hxx @@ -86,6 +86,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper3() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase4.hxx b/cppuhelper/inc/cppuhelper/implbase4.hxx index cbb33be94806..cb9660cb34aa 100644 --- a/cppuhelper/inc/cppuhelper/implbase4.hxx +++ b/cppuhelper/inc/cppuhelper/implbase4.hxx @@ -88,6 +88,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper4() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase5.hxx b/cppuhelper/inc/cppuhelper/implbase5.hxx index 86918f5b3c1a..71446a5ff72e 100644 --- a/cppuhelper/inc/cppuhelper/implbase5.hxx +++ b/cppuhelper/inc/cppuhelper/implbase5.hxx @@ -89,6 +89,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper5() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase6.hxx b/cppuhelper/inc/cppuhelper/implbase6.hxx index 3e8f5ef4ea6c..dca9d86ac2e6 100644 --- a/cppuhelper/inc/cppuhelper/implbase6.hxx +++ b/cppuhelper/inc/cppuhelper/implbase6.hxx @@ -90,6 +90,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper6() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase7.hxx b/cppuhelper/inc/cppuhelper/implbase7.hxx index b347127cdaf7..93115a38873f 100644 --- a/cppuhelper/inc/cppuhelper/implbase7.hxx +++ b/cppuhelper/inc/cppuhelper/implbase7.hxx @@ -91,6 +91,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper7() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase8.hxx b/cppuhelper/inc/cppuhelper/implbase8.hxx index 8c0aa4a180b3..e37c0c96e206 100644 --- a/cppuhelper/inc/cppuhelper/implbase8.hxx +++ b/cppuhelper/inc/cppuhelper/implbase8.hxx @@ -92,6 +92,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper8() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/implbase9.hxx b/cppuhelper/inc/cppuhelper/implbase9.hxx index cf4f5bbd1e56..a09d79b0a681 100644 --- a/cppuhelper/inc/cppuhelper/implbase9.hxx +++ b/cppuhelper/inc/cppuhelper/implbase9.hxx @@ -93,6 +93,9 @@ namespace cppu { return ImplHelper_getTypes( cd::get() ); } virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (com::sun::star::uno::RuntimeException) { return ImplHelper_getImplementationId( cd::get() ); } + + protected: + ~ImplHelper9() throw () {} }; /** Implementation helper implementing interfaces com::sun::star::lang::XTypeProvider and com::sun::star::uno::XInterface which supports weak mechanism to be held weakly diff --git a/cppuhelper/inc/cppuhelper/propertysetmixin.hxx b/cppuhelper/inc/cppuhelper/propertysetmixin.hxx index 07d50c01225a..ca3b88214dd3 100644 --- a/cppuhelper/inc/cppuhelper/propertysetmixin.hxx +++ b/cppuhelper/inc/cppuhelper/propertysetmixin.hxx @@ -87,6 +87,10 @@ template< typename T > class PropertySetMixin; @since UDK 3.2.1 */ +#if defined __GNUC__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wnon-virtual-dtor" +#endif class CPPUHELPER_DLLPUBLIC PropertySetMixinImpl: public com::sun::star::beans::XPropertySet, public com::sun::star::beans::XFastPropertySet, @@ -403,6 +407,9 @@ private: void checkUnknown(rtl::OUString const & propertyName); }; +#if defined __GNUC__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) +#pragma GCC diagnostic pop +#endif /** @short A helper mixin to implement certain UNO interfaces related to property diff --git a/cppuhelper/inc/cppuhelper/propshlp.hxx b/cppuhelper/inc/cppuhelper/propshlp.hxx index 1ed2f609e407..08dee8822941 100644 --- a/cppuhelper/inc/cppuhelper/propshlp.hxx +++ b/cppuhelper/inc/cppuhelper/propshlp.hxx @@ -334,6 +334,10 @@ public: sal_Int32 nCount, sal_Bool bVetoable, bool bIgnoreRuntimeExceptionsWhileFiring) = 0; + +protected: + ~IEventNotificationHook() {} + // avoid warnings about virtual members and non-virtual dtor }; @@ -656,11 +660,9 @@ private: sal_Int32 i_count ); -public: +protected: // Suppress warning about virtual functions but non-virtual destructor: -#if defined __GNUC__ -#pragma GCC system_header -#elif defined _MSC_VER +#if defined _MSC_VER #pragma warning(push) #pragma warning(disable: 4265) #endif @@ -703,7 +705,7 @@ private: OPropertySetHelper2( const OPropertySetHelper2 & ) SAL_THROW(()); OPropertySetHelper2 & operator = ( const OPropertySetHelper2 & ) SAL_THROW(()); -public: +protected: // Suppress warning about virtual functions but non-virtual destructor: /** You must call disposing before destruction. diff --git a/cppuhelper/source/exc_thrower.cxx b/cppuhelper/source/exc_thrower.cxx index 105adae891c6..37cccf99525f 100644 --- a/cppuhelper/source/exc_thrower.cxx +++ b/cppuhelper/source/exc_thrower.cxx @@ -57,6 +57,8 @@ struct ExceptionThrower : public uno_Interface, XExceptionThrower { inline ExceptionThrower(); + virtual ~ExceptionThrower() {} + static inline Type const & getCppuType() { return ::getCppuType( diff --git a/cppuhelper/unotypes/Makefile b/cppuhelper/unotypes/Makefile index fae02aeca501..c92ad45a9304 100644 --- a/cppuhelper/unotypes/Makefile +++ b/cppuhelper/unotypes/Makefile @@ -26,12 +26,12 @@ # instead of those above. gb_PARTIALBUILD:=T -include $(GBUILDDIR)/gbuild_simple.mk +include $(GBUILDDIR)/gbuild.mk all: private_types.flag unotypes.flag # private_types -private_types.flag: private_types.rdb +private_types.flag: private_types.rdb $(gb_UnoApiTarget_CPPUMAKERTARGET) $(call gb_Helper_abbreviate_dirs_native, \ $(call gb_Helper_execute,cppumaker) -O. -BUCR -C $< \ -Tcppuhelper.detail.XExceptionThrower \ @@ -48,10 +48,11 @@ XExceptionThrower.urd: $(SRCDIR)/cppuhelper/unotypes/cppuhelper/detail/XExceptio $(call gb_Helper_execute,idlc) -I. -I$(OUTDIR_FOR_BUILD)/idl -O. $<) # unotypes -unotypes.flag: +unotypes.flag: $(gb_UnoApiTarget_CPPUMAKERTARGET) $(call gb_Helper_abbreviate_dirs_native, \ $(call gb_Helper_execute,cppumaker) -O. -BUCR -C \ $(foreach type,$(UNOTYPES),-T$(type)) $(OUTDIR_FOR_BUILD)/bin/udkapi.rdb) + touch $@ UNOTYPES := \ com.sun.star.beans.PropertyAttribute \ diff --git a/cui/source/tabpages/borderconn.cxx b/cui/source/tabpages/borderconn.cxx index 263eb95c487c..7d04c6f96145 100644 --- a/cui/source/tabpages/borderconn.cxx +++ b/cui/source/tabpages/borderconn.cxx @@ -51,6 +51,8 @@ class LineItemWrapper : public sfx::SingleItemWrapper< SvxLineItem, const editen public: inline explicit LineItemWrapper( sal_uInt16 nSlot ) : SingleItemWrapperType( nSlot ) {} + virtual ~LineItemWrapper() {} + virtual const editeng::SvxBorderLine* GetItemValue( const SvxLineItem& rItem ) const { return rItem.GetLine(); } virtual void SetItemValue( SvxLineItem& rItem, const editeng::SvxBorderLine* pLine ) const diff --git a/dbaccess/inc/IController.hxx b/dbaccess/inc/IController.hxx index 962782ea5e18..78cce794e77e 100644 --- a/dbaccess/inc/IController.hxx +++ b/dbaccess/inc/IController.hxx @@ -130,6 +130,9 @@ namespace dbaui /** allows interception of user input, aka mouse clicks and key events */ virtual bool interceptUserInput( const NotifyEvent& _rEvent ) = 0; + + protected: + ~IController() {} }; } #endif // DBAUI_ICONTROLLER_HXX diff --git a/dbaccess/inc/IReference.hxx b/dbaccess/inc/IReference.hxx index 01534f6063e0..959a0b199d1f 100644 --- a/dbaccess/inc/IReference.hxx +++ b/dbaccess/inc/IReference.hxx @@ -38,6 +38,9 @@ namespace dbaui public: virtual void SAL_CALL acquire( ) throw () = 0; virtual void SAL_CALL release( ) throw () = 0; + + protected: + ~IReference() {} }; } #endif // DBAUI_IREFERENCE_HXX diff --git a/dbaccess/source/core/inc/RefreshListener.hxx b/dbaccess/source/core/inc/RefreshListener.hxx index 80e490c4a34c..dbd3b8aada5e 100644 --- a/dbaccess/source/core/inc/RefreshListener.hxx +++ b/dbaccess/source/core/inc/RefreshListener.hxx @@ -47,6 +47,9 @@ namespace dbaccess { public: virtual void refresh(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& _rToBeRefreshed) = 0; + + protected: + ~IRefreshListener() {} }; } // namespace dbaccess diff --git a/dbaccess/source/core/inc/column.hxx b/dbaccess/source/core/inc/column.hxx index b6e533a81a35..93333f87282e 100644 --- a/dbaccess/source/core/inc/column.hxx +++ b/dbaccess/source/core/inc/column.hxx @@ -150,6 +150,9 @@ namespace dbaccess /** notifies that a column with a given name has been dropped */ virtual void columnDropped( const ::rtl::OUString& _sName ) = 0; + + protected: + ~IColumnFactory() {} }; //============================================================ diff --git a/dbaccess/source/core/inc/columnsettings.hxx b/dbaccess/source/core/inc/columnsettings.hxx index c407b60820a8..c976e332b23c 100644 --- a/dbaccess/source/core/inc/columnsettings.hxx +++ b/dbaccess/source/core/inc/columnsettings.hxx @@ -62,6 +62,9 @@ namespace dbaccess const ::com::sun::star::uno::Type& _rType, const void* _pInitialValue ) = 0; + + protected: + ~IPropertyContainer() {} }; //==================================================================== diff --git a/dbaccess/source/core/inc/containerapprove.hxx b/dbaccess/source/core/inc/containerapprove.hxx index abedd666e0f3..b88e945afd6d 100644 --- a/dbaccess/source/core/inc/containerapprove.hxx +++ b/dbaccess/source/core/inc/containerapprove.hxx @@ -52,6 +52,8 @@ namespace dbaccess class SAL_NO_VTABLE IContainerApprove { public: + virtual ~IContainerApprove() {} + /** approves a given element for insertion into the container @param _rName specifies the name under which the element is going to be inserted diff --git a/dbaccess/source/ext/macromigration/migrationprogress.hxx b/dbaccess/source/ext/macromigration/migrationprogress.hxx index 9c1598a43855..a0724c0c42c4 100644 --- a/dbaccess/source/ext/macromigration/migrationprogress.hxx +++ b/dbaccess/source/ext/macromigration/migrationprogress.hxx @@ -50,6 +50,9 @@ namespace dbmm virtual void start( const sal_uInt32 _nOverallRange ) = 0; virtual void setOverallProgressText( const ::rtl::OUString& _rText ) = 0; virtual void setOverallProgressValue( const sal_uInt32 _nValue ) = 0; + + protected: + ~IMigrationProgress() {} }; //........................................................................ diff --git a/dbaccess/source/ext/macromigration/progressmixer.hxx b/dbaccess/source/ext/macromigration/progressmixer.hxx index dd52a72d134d..22c6b44558cf 100644 --- a/dbaccess/source/ext/macromigration/progressmixer.hxx +++ b/dbaccess/source/ext/macromigration/progressmixer.hxx @@ -52,6 +52,9 @@ namespace dbmm virtual void start( sal_uInt32 _nRange ) = 0; virtual void advance( sal_uInt32 _nValue ) = 0; virtual void end() = 0; + + protected: + ~IProgressConsumer() {} }; //==================================================================== diff --git a/dbaccess/source/ui/app/IApplicationController.hxx b/dbaccess/source/ui/app/IApplicationController.hxx index 5e7123e4d3ed..3d28e3f15086 100644 --- a/dbaccess/source/ui/app/IApplicationController.hxx +++ b/dbaccess/source/ui/app/IApplicationController.hxx @@ -92,6 +92,9 @@ namespace dbaui /// called when an object container of any kind was found during enumerating tree view elements virtual void containerFound( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainer >& _xContainer) = 0; + + protected: + ~IApplicationController() {} }; //........................................................................ diff --git a/dbaccess/source/ui/inc/IClipBoardTest.hxx b/dbaccess/source/ui/inc/IClipBoardTest.hxx index 2f64d667379d..7daf155de1b0 100644 --- a/dbaccess/source/ui/inc/IClipBoardTest.hxx +++ b/dbaccess/source/ui/inc/IClipBoardTest.hxx @@ -43,6 +43,9 @@ namespace dbaui virtual void copy() = 0; virtual void cut() = 0; virtual void paste() = 0; + + protected: + ~IClipboardTest() {} }; } #endif // DBACCESS_TABLEDESIGN_ICLIPBOARDTEST_HXX diff --git a/dbaccess/source/ui/inc/IItemSetHelper.hxx b/dbaccess/source/ui/inc/IItemSetHelper.hxx index d5bd9058582f..e117850178b2 100644 --- a/dbaccess/source/ui/inc/IItemSetHelper.hxx +++ b/dbaccess/source/ui/inc/IItemSetHelper.hxx @@ -54,6 +54,9 @@ namespace dbaui public: virtual const SfxItemSet* getOutputSet() const = 0; virtual SfxItemSet* getWriteOutputSet() = 0; + + protected: + ~IItemSetHelper() {} }; class SAL_NO_VTABLE IDatabaseSettingsDialog @@ -73,6 +76,9 @@ namespace dbaui In a normal tab dialog, this will usually disable the "OK" button. */ virtual void enableConfirmSettings( bool _bEnable ) = 0; + + protected: + ~IDatabaseSettingsDialog() {} }; } #endif // DBAUI_ITEMSETHELPER_HXX diff --git a/dbaccess/source/ui/inc/IUpdateHelper.hxx b/dbaccess/source/ui/inc/IUpdateHelper.hxx index b9976efe9935..d416b4d7bdc3 100644 --- a/dbaccess/source/ui/inc/IUpdateHelper.hxx +++ b/dbaccess/source/ui/inc/IUpdateHelper.hxx @@ -46,6 +46,9 @@ namespace dbaui virtual void updateTimestamp(sal_Int32 _nPos,const ::com::sun::star::util::DateTime& _nValue) = 0; virtual void moveToInsertRow() = 0; virtual void insertRow() = 0; + + protected: + ~IUpdateHelper() {} }; } diff --git a/dbaccess/source/ui/inc/WCopyTable.hxx b/dbaccess/source/ui/inc/WCopyTable.hxx index ca7f272ff1e0..cc7931b82bf9 100644 --- a/dbaccess/source/ui/inc/WCopyTable.hxx +++ b/dbaccess/source/ui/inc/WCopyTable.hxx @@ -56,6 +56,9 @@ namespace dbaui { public: virtual bool operator()(const ::rtl::OUString& _sColumnName) const = 0; + + protected: + ~TColumnFindFunctor() {} }; class TExportColumnFindFunctor : public TColumnFindFunctor @@ -66,6 +69,9 @@ namespace dbaui { m_pColumns = _pColumns; } + + virtual ~TExportColumnFindFunctor() {} + inline bool operator()(const ::rtl::OUString& _sColumnName) const { return m_pColumns->find(_sColumnName) != m_pColumns->end(); @@ -83,6 +89,9 @@ namespace dbaui ,m_pVector(_pVector) { } + + virtual ~TMultiListBoxEntryFindFunctor() {} + inline bool operator()(const ::rtl::OUString& _sColumnName) const { return ::std::find_if(m_pVector->begin(),m_pVector->end(), diff --git a/dbaccess/source/ui/inc/adtabdlg.hxx b/dbaccess/source/ui/inc/adtabdlg.hxx index d2d7c6d8a98e..9e8d96fb6bb5 100644 --- a/dbaccess/source/ui/inc/adtabdlg.hxx +++ b/dbaccess/source/ui/inc/adtabdlg.hxx @@ -70,6 +70,9 @@ namespace dbaui virtual bool allowAddition() const = 0; virtual void addTableWindow( const String& _rQualifiedTableName, const String& _rAliasName ) = 0; virtual void onWindowClosing( const Window* _pWindow ) = 0; + + protected: + ~IAddTableDialogContext() {} }; //======================================================================== diff --git a/dbaccess/source/ui/inc/callbacks.hxx b/dbaccess/source/ui/inc/callbacks.hxx index 355e8faafcad..486afba68a0d 100644 --- a/dbaccess/source/ui/inc/callbacks.hxx +++ b/dbaccess/source/ui/inc/callbacks.hxx @@ -73,6 +73,9 @@ namespace dbaui /** execute a drop request */ virtual sal_Int8 executeDrop( const ExecuteDropEvent& _rEvt ) = 0; + + protected: + ~IControlActionListener() {} }; //==================================================================== @@ -108,6 +111,9 @@ namespace dbaui */ virtual ::com::sun::star::uno::Any getCurrentSelection( Control& _rControl ) const = 0; + + protected: + ~IContextMenuProvider() {} }; //==================================================================== @@ -118,6 +124,9 @@ namespace dbaui public: /// called when a drag operation done with a Transferable has been finished virtual void dragFinished( ) = 0; + + protected: + ~IDragTransferableListener() {} }; //........................................................................ diff --git a/dbaccess/source/ui/inc/dbtreelistbox.hxx b/dbaccess/source/ui/inc/dbtreelistbox.hxx index bd40f3a7a0c1..558c66130893 100644 --- a/dbaccess/source/ui/inc/dbtreelistbox.hxx +++ b/dbaccess/source/ui/inc/dbtreelistbox.hxx @@ -51,6 +51,9 @@ namespace dbaui { public: virtual bool includeEntry( SvLBoxEntry* _pEntry ) const = 0; + + protected: + ~IEntryFilter() {} }; //======================================================================== diff --git a/dbaccess/source/ui/inc/sbagrid.hxx b/dbaccess/source/ui/inc/sbagrid.hxx index 344488aad77f..16377165e7b3 100644 --- a/dbaccess/source/ui/inc/sbagrid.hxx +++ b/dbaccess/source/ui/inc/sbagrid.hxx @@ -224,6 +224,9 @@ namespace dbaui virtual void CellDeactivated() = 0; virtual void BeforeDrop() = 0; virtual void AfterDrop() = 0; + + protected: + ~SbaGridListener() {} }; //================================================================== diff --git a/dbaccess/source/ui/misc/dbaundomanager.cxx b/dbaccess/source/ui/misc/dbaundomanager.cxx index 7e34b68835ba..58b83be221a5 100644 --- a/dbaccess/source/ui/misc/dbaundomanager.cxx +++ b/dbaccess/source/ui/misc/dbaundomanager.cxx @@ -120,6 +120,8 @@ namespace dbaui { } + virtual ~OslMutexFacade() {} + virtual void acquire(); virtual void release(); diff --git a/dbaccess/source/ui/querydesign/JoinController.cxx b/dbaccess/source/ui/querydesign/JoinController.cxx index 4008490180f5..1578a950dec5 100644 --- a/dbaccess/source/ui/querydesign/JoinController.cxx +++ b/dbaccess/source/ui/querydesign/JoinController.cxx @@ -100,6 +100,8 @@ public: { } + virtual ~AddTableDialogContext() {} + // IAddTableDialogContext virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > getConnection() const; diff --git a/editeng/source/items/svxfont.cxx b/editeng/source/items/svxfont.cxx index 2e76b11ad21d..75954c922a4f 100644 --- a/editeng/source/items/svxfont.cxx +++ b/editeng/source/items/svxfont.cxx @@ -199,6 +199,8 @@ public: : pOut(_pOut), rTxt(_rTxt), nIdx(_nIdx), nLen(_nLen) { } + virtual ~SvxDoCapitals() {} + virtual void DoSpace( const sal_Bool bDraw ); virtual void SetSpace(); virtual void Do( const XubString &rTxt, @@ -623,6 +625,8 @@ public: nKern( _nKrn ) { } + virtual ~SvxDoGetCapitalSize() {} + virtual void Do( const XubString &rTxt, const xub_StrLen nIdx, const xub_StrLen nLen, const sal_Bool bUpper ); @@ -687,6 +691,7 @@ public: aSpacePos( rPos ), nKern( nKrn ) { } + virtual ~SvxDoDrawCapital() {} virtual void DoSpace( const sal_Bool bDraw ); virtual void SetSpace(); virtual void Do( const XubString &rTxt, const xub_StrLen nIdx, diff --git a/extensions/source/propctrlr/browserline.hxx b/extensions/source/propctrlr/browserline.hxx index 0f0b2f30a81a..be88c81b3b01 100644 --- a/extensions/source/propctrlr/browserline.hxx +++ b/extensions/source/propctrlr/browserline.hxx @@ -52,6 +52,9 @@ namespace pcr { public: virtual void buttonClicked( OBrowserLine* _pLine, sal_Bool _bPrimary ) = 0; + + protected: + ~IButtonClickListener() {} }; //======================================================================== diff --git a/extensions/source/propctrlr/browserlistbox.hxx b/extensions/source/propctrlr/browserlistbox.hxx index c5c46ef4898a..a2f0ea8545b5 100644 --- a/extensions/source/propctrlr/browserlistbox.hxx +++ b/extensions/source/propctrlr/browserlistbox.hxx @@ -90,6 +90,9 @@ namespace pcr virtual void SAL_CALL focusGained( const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControl >& Control ) throw (::com::sun::star::uno::RuntimeException) = 0; virtual void SAL_CALL valueChanged( const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControl >& Control ) throw (::com::sun::star::uno::RuntimeException) = 0; virtual void SAL_CALL activateNextControl( const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControl >& CurrentControl ) throw (::com::sun::star::uno::RuntimeException) = 0; + + protected: + ~IControlContext() {} }; //======================================================================== diff --git a/extensions/source/propctrlr/commoncontrol.hxx b/extensions/source/propctrlr/commoncontrol.hxx index a38f0e027255..5be4d409613b 100644 --- a/extensions/source/propctrlr/commoncontrol.hxx +++ b/extensions/source/propctrlr/commoncontrol.hxx @@ -79,6 +79,9 @@ namespace pcr { public: virtual void modified() = 0; + + protected: + ~IModifyListener() {} }; //======================================================================== diff --git a/extensions/source/propctrlr/composeduiupdate.hxx b/extensions/source/propctrlr/composeduiupdate.hxx index 0ee9a98eeaf7..1a9617cf6948 100644 --- a/extensions/source/propctrlr/composeduiupdate.hxx +++ b/extensions/source/propctrlr/composeduiupdate.hxx @@ -56,6 +56,9 @@ namespace pcr { public: virtual ::sal_Bool SAL_CALL hasPropertyByName( const ::rtl::OUString& _rName ) throw (::com::sun::star::uno::RuntimeException) = 0; + + protected: + ~IPropertyExistenceCheck() {} }; //==================================================================== diff --git a/extensions/source/propctrlr/propcontrolobserver.hxx b/extensions/source/propctrlr/propcontrolobserver.hxx index d1d48ab8b80a..c42aa438b32f 100644 --- a/extensions/source/propctrlr/propcontrolobserver.hxx +++ b/extensions/source/propctrlr/propcontrolobserver.hxx @@ -47,6 +47,9 @@ namespace pcr public: virtual void focusGained( const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControl >& _Control ) = 0; virtual void valueChanged( const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControl >& _Control ) = 0; + + protected: + ~IPropertyControlObserver() {} }; //........................................................................ diff --git a/extensions/source/propctrlr/proplinelistener.hxx b/extensions/source/propctrlr/proplinelistener.hxx index 4d72352cbc5b..6f116b195ab4 100644 --- a/extensions/source/propctrlr/proplinelistener.hxx +++ b/extensions/source/propctrlr/proplinelistener.hxx @@ -42,6 +42,9 @@ namespace pcr public: virtual void Clicked( const ::rtl::OUString& _rName, sal_Bool _bPrimary ) = 0; virtual void Commit( const ::rtl::OUString& _rName, const ::com::sun::star::uno::Any& _rVal ) = 0; + + protected: + ~IPropertyLineListener() {} }; //............................................................................ diff --git a/extensions/source/update/check/actionlistener.hxx b/extensions/source/update/check/actionlistener.hxx index a1c4571900bf..c4f16c695115 100644 --- a/extensions/source/update/check/actionlistener.hxx +++ b/extensions/source/update/check/actionlistener.hxx @@ -41,6 +41,9 @@ class IActionListener : public rtl::IReference virtual void pause() = 0; virtual void resume() = 0; virtual void closeAfterFailure() = 0; + +protected: + ~IActionListener() {} }; #endif //INCLUDED_ACTION_LISTENER_HXX diff --git a/extensions/source/update/check/download.hxx b/extensions/source/update/check/download.hxx index 00106660b4af..afa7c1468624 100644 --- a/extensions/source/update/check/download.hxx +++ b/extensions/source/update/check/download.hxx @@ -52,6 +52,9 @@ struct DownloadInteractionHandler : public rtl::IReference // called when download has been finished virtual void downloadFinished(const rtl::OUString& rFileName) = 0; + +protected: + ~DownloadInteractionHandler() {} }; diff --git a/extensions/source/update/check/updatecheckconfig.hxx b/extensions/source/update/check/updatecheckconfig.hxx index 255b717c0372..743130d011fd 100644 --- a/extensions/source/update/check/updatecheckconfig.hxx +++ b/extensions/source/update/check/updatecheckconfig.hxx @@ -41,6 +41,9 @@ struct IByNameAccess { virtual ::com::sun::star::uno::Any getValue(const sal_Char * pName) = 0; + +protected: + ~IByNameAccess() {} }; /* This helper class provides by name access to a sequence of named values */ diff --git a/extensions/source/update/check/updatecheckconfiglistener.hxx b/extensions/source/update/check/updatecheckconfiglistener.hxx index fc7ee7926252..849919f35267 100644 --- a/extensions/source/update/check/updatecheckconfiglistener.hxx +++ b/extensions/source/update/check/updatecheckconfiglistener.hxx @@ -39,6 +39,9 @@ struct UpdateCheckConfigListener : public rtl::IReference { virtual void autoCheckStatusChanged(bool enabled) = 0; virtual void autoCheckIntervalChanged() = 0; + +protected: + ~UpdateCheckConfigListener() {} }; #endif diff --git a/forms/source/inc/featuredispatcher.hxx b/forms/source/inc/featuredispatcher.hxx index 760a8c4b6455..7a1afc1800bc 100644 --- a/forms/source/inc/featuredispatcher.hxx +++ b/forms/source/inc/featuredispatcher.hxx @@ -102,6 +102,9 @@ namespace frm integer information associated with it. */ virtual sal_Int32 getIntegerState( sal_Int16 _nFeatureId ) const = 0; + + protected: + ~IFeatureDispatcher() {} }; //......................................................................... diff --git a/forms/source/inc/property.hxx b/forms/source/inc/property.hxx index d12a0d030e61..81102c609a20 100644 --- a/forms/source/inc/property.hxx +++ b/forms/source/inc/property.hxx @@ -106,6 +106,8 @@ private: class ConcreteInfoService : public ::comphelper::IPropertyInfoService { public: + virtual ~ConcreteInfoService() {} + virtual sal_Int32 getPreferedPropertyId(const ::rtl::OUString& _rName); }; diff --git a/forms/source/inc/propertybaghelper.hxx b/forms/source/inc/propertybaghelper.hxx index 5bb10583ea37..7600618fa8f1 100644 --- a/forms/source/inc/propertybaghelper.hxx +++ b/forms/source/inc/propertybaghelper.hxx @@ -58,6 +58,9 @@ namespace frm virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertySet > getPropertiesInterface() = 0; + + protected: + ~IPropertyBagHelperContext() {} }; //==================================================================== diff --git a/forms/source/richtext/richtextengine.hxx b/forms/source/richtext/richtextengine.hxx index c571f51e9aaf..99ab2d67d121 100644 --- a/forms/source/richtext/richtextengine.hxx +++ b/forms/source/richtext/richtextengine.hxx @@ -47,6 +47,9 @@ namespace frm { public: virtual void EditEngineStatusChanged( const EditStatus& _rStatus ) = 0; + + protected: + ~IEngineStatusListener() {} }; //==================================================================== diff --git a/forms/source/richtext/richtextunowrapper.hxx b/forms/source/richtext/richtextunowrapper.hxx index ef9ecbe57338..65ced5a440b9 100644 --- a/forms/source/richtext/richtextunowrapper.hxx +++ b/forms/source/richtext/richtextunowrapper.hxx @@ -44,6 +44,9 @@ namespace frm { public: virtual void potentialTextChange( ) = 0; + + protected: + ~IEngineTextChangeListener() {} }; //==================================================================== diff --git a/forms/source/richtext/rtattributehandler.hxx b/forms/source/richtext/rtattributehandler.hxx index e908ae75162c..36c55861600d 100644 --- a/forms/source/richtext/rtattributehandler.hxx +++ b/forms/source/richtext/rtattributehandler.hxx @@ -68,6 +68,9 @@ namespace frm virtual AttributeId getAttributeId( ) const = 0; virtual AttributeState getState( const SfxItemSet& _rAttribs ) const = 0; virtual void executeAttribute( const SfxItemSet& _rCurrentAttribs, SfxItemSet& _rNewAttribs, const SfxPoolItem* _pAdditionalArg, ScriptType _nForScriptType ) const = 0; + + protected: + ~IAttributeHandler() {} }; //==================================================================== diff --git a/forms/source/richtext/rtattributes.hxx b/forms/source/richtext/rtattributes.hxx index 246a1366e283..8049705f6783 100644 --- a/forms/source/richtext/rtattributes.hxx +++ b/forms/source/richtext/rtattributes.hxx @@ -163,6 +163,9 @@ namespace frm public: virtual AttributeState getState( AttributeId _nAttributeId ) const = 0; virtual void executeAttribute( AttributeId _nAttributeId, const SfxPoolItem* _pArgument ) = 0; + + protected: + ~IMultiAttributeDispatcher() {} }; //........................................................................ diff --git a/forms/source/richtext/textattributelistener.hxx b/forms/source/richtext/textattributelistener.hxx index 51ea48f42af1..04616172d383 100644 --- a/forms/source/richtext/textattributelistener.hxx +++ b/forms/source/richtext/textattributelistener.hxx @@ -43,6 +43,9 @@ namespace frm { public: virtual void onAttributeStateChanged( AttributeId _nAttributeId, const AttributeState& _rState ) = 0; + + protected: + ~ITextAttributeListener() {} }; //==================================================================== @@ -52,6 +55,9 @@ namespace frm { public: virtual void onSelectionChanged( const ESelection& _rSelection ) = 0; + + protected: + ~ITextSelectionListener() {} }; //........................................................................ diff --git a/formula/inc/formula/ExternalReferenceHelper.hxx b/formula/inc/formula/ExternalReferenceHelper.hxx index 68d286037a1a..e884ae7b0227 100644 --- a/formula/inc/formula/ExternalReferenceHelper.hxx +++ b/formula/inc/formula/ExternalReferenceHelper.hxx @@ -38,6 +38,9 @@ namespace formula { public: virtual ::rtl::OUString getCacheTableName(sal_uInt16 nFileId, size_t nTabIndex) const = 0; + + protected: + ~ExternalReferenceHelper() {} }; // ============================================================================= } // formula diff --git a/formula/inc/formula/IControlReferenceHandler.hxx b/formula/inc/formula/IControlReferenceHandler.hxx index f078544f9527..aa1da3f3de32 100644 --- a/formula/inc/formula/IControlReferenceHandler.hxx +++ b/formula/inc/formula/IControlReferenceHandler.hxx @@ -41,6 +41,9 @@ namespace formula virtual void HideReference( sal_Bool bDoneRefMode = sal_True ) = 0; virtual void ReleaseFocus( RefEdit* pEdit, RefButton* pButton = NULL ) = 0; virtual void ToggleCollapsed( RefEdit* pEdit, RefButton* pButton = NULL ) = 0; + + protected: + ~IControlReferenceHandler() {} }; } // formula #endif // FORMULA_ICONTROL_REFERENCE_HANDLER_HXX_INCLUDED diff --git a/formula/inc/formula/IFunctionDescription.hxx b/formula/inc/formula/IFunctionDescription.hxx index e3f6d8497785..e8ead931df00 100644 --- a/formula/inc/formula/IFunctionDescription.hxx +++ b/formula/inc/formula/IFunctionDescription.hxx @@ -64,6 +64,9 @@ namespace formula virtual const IFunctionDescription* getFunctionByName(const ::rtl::OUString& _sFunctionName) const = 0; virtual sal_Unicode getSingleToken(const EToken _eToken) const = 0; + + protected: + ~IFunctionManager() {} }; class SAL_NO_VTABLE IFunctionCategory @@ -75,6 +78,9 @@ namespace formula virtual const IFunctionDescription* getFunction(sal_uInt32 _nPos) const = 0; virtual sal_uInt32 getNumber() const = 0; virtual ::rtl::OUString getName() const = 0; + + protected: + ~IFunctionCategory() {} }; class SAL_NO_VTABLE IFunctionDescription @@ -99,6 +105,9 @@ namespace formula virtual ::rtl::OUString getParameterName(sal_uInt32 _nPos) const = 0; virtual ::rtl::OUString getParameterDescription(sal_uInt32 _nPos) const = 0; virtual bool isParameterOptional(sal_uInt32 _nPos) const = 0; + + protected: + ~IFunctionDescription() {} }; class SAL_NO_VTABLE IFormulaToken @@ -106,6 +115,9 @@ namespace formula public: virtual bool isFunction() const = 0; virtual sal_uInt32 getArgumentCount() const = 0; + + protected: + ~IFormulaToken() {} }; class SAL_NO_VTABLE IStructHelper @@ -117,6 +129,9 @@ namespace formula virtual String GetEntryText(SvLBoxEntry* pEntry) const = 0; virtual SvLBoxEntry* GetParent(SvLBoxEntry* pEntry) const = 0; + + protected: + ~IStructHelper() {} }; class SAL_NO_VTABLE IFormulaEditorHelper @@ -153,6 +168,9 @@ namespace formula virtual void doClose(sal_Bool _bOk) = 0; virtual void insertEntryToLRUList(const IFunctionDescription* pDesc) = 0; virtual void showReference(const String& _sFormula) = 0; + + protected: + ~IFormulaEditorHelper() {} }; } diff --git a/formula/source/ui/dlg/ControlHelper.hxx b/formula/source/ui/dlg/ControlHelper.hxx index 0cc96d284abe..b1aa6369218a 100644 --- a/formula/source/ui/dlg/ControlHelper.hxx +++ b/formula/source/ui/dlg/ControlHelper.hxx @@ -146,6 +146,8 @@ public: ArgInput(); + virtual ~ArgInput() {} + void InitArgInput ( FixedText* pftArg, ImageButton* pbtnFx, ArgEdit* pedArg, diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx index 3789538a3d80..de692bd138b8 100644 --- a/formula/source/ui/dlg/formula.cxx +++ b/formula/source/ui/dlg/formula.cxx @@ -85,6 +85,8 @@ namespace formula public: OFormulaToken(bool _bFunction,sal_Int32 _nParaCount) : m_nParaCount(_nParaCount),m_bIsFunction(_bFunction){} + virtual ~OFormulaToken() {} + virtual bool isFunction() const { return m_bIsFunction; } virtual sal_uInt32 getArgumentCount() const { return m_nParaCount; } }; diff --git a/fpicker/source/office/pickercallbacks.hxx b/fpicker/source/office/pickercallbacks.hxx index 2140fe5c716d..896b65af1529 100644 --- a/fpicker/source/office/pickercallbacks.hxx +++ b/fpicker/source/office/pickercallbacks.hxx @@ -46,6 +46,9 @@ namespace svt virtual Control* getControl( sal_Int16 _nControlId, sal_Bool _bLabelControl = sal_False ) const = 0; virtual void enableControl( sal_Int16 _nControlId, sal_Bool _bEnable ) = 0; virtual String getCurFilter( ) const = 0; + + protected: + ~IFilePickerController() {} }; // -------------------------------------------------------------------- @@ -53,6 +56,9 @@ namespace svt { public: virtual void notify( sal_Int16 _nEventId, sal_Int16 _nControlId ) = 0; + + protected: + ~IFilePickerListener() {} }; //......................................................................... diff --git a/framework/inc/framework/iguard.hxx b/framework/inc/framework/iguard.hxx index a5674c2763df..2ebb5260e72c 100644 --- a/framework/inc/framework/iguard.hxx +++ b/framework/inc/framework/iguard.hxx @@ -63,6 +63,9 @@ class SAL_NO_VTABLE IGuard */ virtual void reset() = 0; + protected: + ~IGuard() {} + }; // class IGuard } // namespace framework diff --git a/framework/inc/framework/imutex.hxx b/framework/inc/framework/imutex.hxx index 10b15ae60317..862dfaaabe42 100644 --- a/framework/inc/framework/imutex.hxx +++ b/framework/inc/framework/imutex.hxx @@ -63,6 +63,8 @@ class SAL_NO_VTABLE IMutex virtual void acquire() = 0; virtual void release() = 0; + protected: + ~IMutex() {} }; // class IMutex } // namespace framework diff --git a/framework/inc/framework/undomanagerhelper.hxx b/framework/inc/framework/undomanagerhelper.hxx index bfac08a086a5..2e559f3e3040 100644 --- a/framework/inc/framework/undomanagerhelper.hxx +++ b/framework/inc/framework/undomanagerhelper.hxx @@ -60,6 +60,9 @@ namespace framework Even if the guard currently has not a lock on the mutex, this method must succeed. */ virtual IMutex& getGuardedMutex() = 0; + + protected: + ~IMutexGuard() {} }; //================================================================================================================== @@ -82,6 +85,9 @@ namespace framework */ virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoManager > getThis() = 0; + + protected: + ~IUndoManagerImplementation() {} }; //================================================================================================================== diff --git a/framework/inc/helper/ilayoutnotifications.hxx b/framework/inc/helper/ilayoutnotifications.hxx index fbc01a170878..5313781c27a9 100644 --- a/framework/inc/helper/ilayoutnotifications.hxx +++ b/framework/inc/helper/ilayoutnotifications.hxx @@ -43,6 +43,9 @@ class ILayoutNotifications }; virtual void requestLayout( Hint eHint = HINT_NOT_SPECIFIED ) = 0; + + protected: + ~ILayoutNotifications() {} }; } diff --git a/framework/inc/threadhelp/igate.h b/framework/inc/threadhelp/igate.h index 78399a0f8789..7dc1cfa60cb1 100755 --- a/framework/inc/threadhelp/igate.h +++ b/framework/inc/threadhelp/igate.h @@ -67,6 +67,8 @@ class IGate virtual void openGap ( ) = 0; virtual sal_Bool wait ( const TimeValue* pTimeOut = NULL ) = 0; + protected: + ~IGate() {} }; // class IGate } // namespace framework diff --git a/framework/inc/threadhelp/irwlock.h b/framework/inc/threadhelp/irwlock.h index 3d513fc07b0c..22363c7b7113 100755 --- a/framework/inc/threadhelp/irwlock.h +++ b/framework/inc/threadhelp/irwlock.h @@ -81,6 +81,8 @@ class IRWLock virtual void releaseWriteAccess () =0; virtual void downgradeWriteAccess () =0; + protected: + ~IRWLock() {} }; // class IRWLock } // namespace framework diff --git a/framework/inc/threadhelp/itransactionmanager.h b/framework/inc/threadhelp/itransactionmanager.h index 20f93305223e..5e70ebdc6771 100755 --- a/framework/inc/threadhelp/itransactionmanager.h +++ b/framework/inc/threadhelp/itransactionmanager.h @@ -143,6 +143,8 @@ class ITransactionManager virtual void registerTransaction ( EExceptionMode eMode , ERejectReason& eReason ) throw( css::uno::RuntimeException, css::lang::DisposedException ) = 0; virtual void unregisterTransaction ( ) throw( css::uno::RuntimeException, css::lang::DisposedException ) = 0; + protected: + ~ITransactionManager() {} }; // class ITransactionManager } // namespace framework diff --git a/framework/inc/uielement/comboboxtoolbarcontroller.hxx b/framework/inc/uielement/comboboxtoolbarcontroller.hxx index 747c0f94167f..4576f3366380 100644 --- a/framework/inc/uielement/comboboxtoolbarcontroller.hxx +++ b/framework/inc/uielement/comboboxtoolbarcontroller.hxx @@ -51,6 +51,9 @@ class IComboBoxListener virtual void GetFocus() = 0; virtual void LoseFocus() = 0; virtual long PreNotify( NotifyEvent& rNEvt ) = 0; + + protected: + ~IComboBoxListener() {} }; class ComboboxToolbarController : public IComboBoxListener, diff --git a/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx b/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx index c3da8b8fe074..c38dba3c5c73 100644 --- a/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx +++ b/framework/inc/uielement/dropdownboxtoolbarcontroller.hxx @@ -55,6 +55,8 @@ class IListBoxListener virtual void GetFocus() = 0; virtual void LoseFocus() = 0; virtual long PreNotify( NotifyEvent& rNEvt ) = 0; + protected: + ~IListBoxListener() {} }; class DropdownToolbarController : public IListBoxListener, diff --git a/framework/inc/uielement/edittoolbarcontroller.hxx b/framework/inc/uielement/edittoolbarcontroller.hxx index b86b8865981a..46e2ff091edb 100644 --- a/framework/inc/uielement/edittoolbarcontroller.hxx +++ b/framework/inc/uielement/edittoolbarcontroller.hxx @@ -55,6 +55,9 @@ class IEditListener virtual void GetFocus() = 0; virtual void LoseFocus() = 0; virtual long PreNotify( NotifyEvent& rNEvt ) = 0; + + protected: + ~IEditListener() {} }; class EditToolbarController : public IEditListener, diff --git a/framework/inc/uielement/spinfieldtoolbarcontroller.hxx b/framework/inc/uielement/spinfieldtoolbarcontroller.hxx index 3e98ff056e00..2aa39017cd70 100644 --- a/framework/inc/uielement/spinfieldtoolbarcontroller.hxx +++ b/framework/inc/uielement/spinfieldtoolbarcontroller.hxx @@ -61,7 +61,10 @@ class ISpinfieldListener virtual void StateChanged( StateChangedType nType ) = 0; virtual void DataChanged( const DataChangedEvent& rDCEvt ) = 0; virtual long PreNotify( NotifyEvent& rNEvt ) = 0; - }; + + protected: + ~ISpinfieldListener() {} +}; class SpinfieldToolbarController : public ISpinfieldListener, public ComplexToolbarController diff --git a/framework/source/inc/accelerators/istoragelistener.hxx b/framework/source/inc/accelerators/istoragelistener.hxx index 555d517d3a54..667b7dc4f4d7 100644 --- a/framework/source/inc/accelerators/istoragelistener.hxx +++ b/framework/source/inc/accelerators/istoragelistener.hxx @@ -58,6 +58,9 @@ class IStorageListener //-------------------------------------- /** @short TODO */ virtual void changesOccurred(const ::rtl::OUString& sPath) = 0; + + protected: + ~IStorageListener() {} }; } // namespace framework diff --git a/javaunohelper/cppumaker/Makefile b/javaunohelper/cppumaker/Makefile index 017acf1b08bc..f0f3642cbc34 100644 --- a/javaunohelper/cppumaker/Makefile +++ b/javaunohelper/cppumaker/Makefile @@ -28,7 +28,7 @@ gb_PARTIALBUILD := T include $(GBUILDDIR)/gbuild_simple.mk -done : +done : $(gb_UnoApiTarget_CPPUMAKERTARGET) $(call gb_Helper_abbreviate_dirs_native, \ $(call gb_Helper_execute,cppumaker -C -BUCR -O. \ -Tcom.sun.star.beans.NamedValue \ diff --git a/libcmis/libcmis-0.1.0-non-virtual-dtor.patch b/libcmis/libcmis-0.1.0-non-virtual-dtor.patch new file mode 100644 index 000000000000..764c7b2f6322 --- /dev/null +++ b/libcmis/libcmis-0.1.0-non-virtual-dtor.patch @@ -0,0 +1,11 @@ +--- misc/libcmis-0.1.0/src/libcmis/cmis-object.hxx 2011-09-30 20:35:37.000000000 +0200 ++++ misc/build/libcmis-0.1.0/src/libcmis/cmis-object.hxx 2012-03-13 21:46:03.985188599 +0100 +@@ -39,6 +39,8 @@ + class CmisObject + { + public: ++ virtual ~CmisObject() {} ++ + virtual std::string getId( ) = 0; + virtual std::string getName( ) = 0; + diff --git a/libcmis/makefile.mk b/libcmis/makefile.mk index 4e20948e1f37..855a67f62d79 100644 --- a/libcmis/makefile.mk +++ b/libcmis/makefile.mk @@ -48,6 +48,7 @@ ADDITIONAL_FILES=src$/libcmis$/makefile.mk PATCH_FILES=$(TARFILE_NAME).patch #https://sourceforge.net/p/libcmis/tickets/1/ PATCH_FILES+=libcmis-0001-virtualdtor.patch +PATCH_FILES+=libcmis-0.1.0-non-virtual-dtor.patch BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) BUILD_DIR=src$/libcmis diff --git a/linguistic/inc/iprcache.hxx b/linguistic/inc/iprcache.hxx index be48fac9bd46..af046939f241 100644 --- a/linguistic/inc/iprcache.hxx +++ b/linguistic/inc/iprcache.hxx @@ -54,6 +54,9 @@ class Flushable { public: virtual void Flush() = 0; + +protected: + ~Flushable() {} }; diff --git a/linguistic/source/defs.hxx b/linguistic/source/defs.hxx index 14c0ce2f2853..c37706a5a764 100644 --- a/linguistic/source/defs.hxx +++ b/linguistic/source/defs.hxx @@ -124,6 +124,9 @@ public: virtual void SetServiceList( const css::lang::Locale &rLocale, const css::uno::Sequence< rtl::OUString > &rSvcImplNames ) = 0; virtual css::uno::Sequence< rtl::OUString > GetServiceList( const css::lang::Locale &rLocale ) const = 0; virtual DspType GetDspType() const = 0; + +protected: + ~LinguDispatcher() {} }; diff --git a/oox/inc/oox/drawingml/customshapeproperties.hxx b/oox/inc/oox/drawingml/customshapeproperties.hxx index 5fd6cd0121c6..957a32a34eda 100644 --- a/oox/inc/oox/drawingml/customshapeproperties.hxx +++ b/oox/inc/oox/drawingml/customshapeproperties.hxx @@ -126,6 +126,7 @@ protected: static com::sun::star::drawing::EnhancedCustomShapeParameterPair createParameterPair( const ParameterPairData *pData ); static com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair > createParameterPairSequence( size_t nElems, const ParameterPairData *pData ); public: + virtual ~CustomShapeProvider() {} virtual PropertyMap getProperties() = 0; }; diff --git a/oox/inc/oox/mathml/export.hxx b/oox/inc/oox/mathml/export.hxx index f4e05633e1e6..6c35feba4b92 100644 --- a/oox/inc/oox/mathml/export.hxx +++ b/oox/inc/oox/mathml/export.hxx @@ -42,8 +42,12 @@ namespace oox class OOX_DLLPUBLIC FormulaExportBase { public: - FormulaExportBase(); virtual void writeFormulaOoxml( ::sax_fastparser::FSHelperPtr m_pSerializer, oox::core::OoxmlVersion version ) = 0; + +protected: + FormulaExportBase(); + + ~FormulaExportBase() {} }; } // namespace diff --git a/oox/inc/oox/mathml/import.hxx b/oox/inc/oox/mathml/import.hxx index 8c922abf73ac..971dfec9113d 100644 --- a/oox/inc/oox/mathml/import.hxx +++ b/oox/inc/oox/mathml/import.hxx @@ -49,9 +49,13 @@ class XmlStream; class OOX_DLLPUBLIC FormulaImportBase { public: - FormulaImportBase(); virtual void readFormulaOoxml( oox::formulaimport::XmlStream& stream ) = 0; virtual Size getFormulaSize() const = 0; + +protected: + FormulaImportBase(); + + ~FormulaImportBase() {} }; } // namespace diff --git a/reportdesign/inc/ReportVisitor.hxx b/reportdesign/inc/ReportVisitor.hxx index 13c080fd0a26..b22847112042 100644 --- a/reportdesign/inc/ReportVisitor.hxx +++ b/reportdesign/inc/ReportVisitor.hxx @@ -51,6 +51,9 @@ namespace reportdesign virtual void traverseGroupFooter(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; virtual void traverseDetail(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; + + protected: + ~ITraverseReport() {} }; class REPORTDESIGN_DLLPUBLIC OReportVisitor diff --git a/reportdesign/source/filter/xml/xmlReportElementBase.hxx b/reportdesign/source/filter/xml/xmlReportElementBase.hxx index c1d212748a86..692c84fdb88d 100644 --- a/reportdesign/source/filter/xml/xmlReportElementBase.hxx +++ b/reportdesign/source/filter/xml/xmlReportElementBase.hxx @@ -41,6 +41,9 @@ namespace rptxml { public: virtual void addMasterDetailPair(const ::std::pair< ::rtl::OUString,::rtl::OUString >& _aPair) = 0; + + protected: + ~IMasterDetailFieds() {} }; class OXMLReportElementBase : public SvXMLImportContext diff --git a/reportdesign/source/ui/inc/CondFormat.hxx b/reportdesign/source/ui/inc/CondFormat.hxx index 5ccd968c6a66..bc1ef7edf2b7 100644 --- a/reportdesign/source/ui/inc/CondFormat.hxx +++ b/reportdesign/source/ui/inc/CondFormat.hxx @@ -65,6 +65,9 @@ namespace rptui virtual void moveConditionUp( size_t _nCondIndex ) = 0; virtual void moveConditionDown( size_t _nCondIndex ) = 0; virtual ::rtl::OUString getDataField() const = 0; + + protected: + ~IConditionalFormatAction() {} }; /************************************************************************* diff --git a/reportdesign/source/ui/inc/MarkedSection.hxx b/reportdesign/source/ui/inc/MarkedSection.hxx index a879e7053d2a..2a441ab3c4bb 100644 --- a/reportdesign/source/ui/inc/MarkedSection.hxx +++ b/reportdesign/source/ui/inc/MarkedSection.hxx @@ -54,6 +54,9 @@ namespace rptui * \param _nPos the position is zero based. */ virtual void markSection(const sal_uInt16 _nPos) = 0; + + protected: + ~IMarkedSection() {} }; } // rptui diff --git a/sal/inc/rtl/ref.hxx b/sal/inc/rtl/ref.hxx index 83bfc60b41eb..19c77a5f5998 100644 --- a/sal/inc/rtl/ref.hxx +++ b/sal/inc/rtl/ref.hxx @@ -48,6 +48,10 @@ public: /** @see osl_decrementInterlockedCount. */ virtual oslInterlockedCount SAL_CALL release() = 0; + +protected: + ~IReference() {} + // avoid warnings about virtual members and non-virtual dtor }; diff --git a/sc/inc/filter.hxx b/sc/inc/filter.hxx index f868b70715a9..eb6229d0bfdb 100644 --- a/sc/inc/filter.hxx +++ b/sc/inc/filter.hxx @@ -126,6 +126,9 @@ class ScFormatFilterPlugin { virtual FltError ScExportHTML( SvStream&, const String& rBaseURL, ScDocument*, const ScRange& rRange, const CharSet eDest, sal_Bool bAll, const String& rStreamPath, String& rNonConvertibleChars ) = 0; virtual FltError ScExportRTF( SvStream&, ScDocument*, const ScRange& rRange, const CharSet eDest ) = 0; + +protected: + ~ScFormatFilterPlugin() {} }; // scfilt plugin symbol diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx index 43b058940d71..6e5d0010510e 100644 --- a/sc/inc/scabstdlg.hxx +++ b/sc/inc/scabstdlg.hxx @@ -510,6 +510,9 @@ public: // for tabpage virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) = 0; virtual GetTabPageRanges GetTabPageRangesFunc( sal_uInt16 nId ) = 0; + +protected: + ~ScAbstractDialogFactory() {} }; #endif diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx index 57feeaa16789..d19e3a8164bf 100644 --- a/sc/source/core/tool/interpr3.cxx +++ b/sc/source/core/tool/interpr3.cxx @@ -65,6 +65,9 @@ class ScDistFunc { public: virtual double GetValue(double x) const = 0; + +protected: + ~ScDistFunc() {} }; // iteration for inverse distributions @@ -1989,6 +1992,8 @@ public: ScGammaDistFunction( ScInterpreter& rI, double fpVal, double fAlphaVal, double fBetaVal ) : rInt(rI), fp(fpVal), fAlpha(fAlphaVal), fBeta(fBetaVal) {} + virtual ~ScGammaDistFunction() {} + double GetValue( double x ) const { return fp - rInt.GetGammaDist(x, fAlpha, fBeta); } }; @@ -2028,6 +2033,8 @@ public: ScBetaDistFunction( ScInterpreter& rI, double fpVal, double fAlphaVal, double fBetaVal ) : rInt(rI), fp(fpVal), fAlpha(fAlphaVal), fBeta(fBetaVal) {} + virtual ~ScBetaDistFunction() {} + double GetValue( double x ) const { return fp - rInt.GetBetaDist(x, fAlpha, fBeta); } }; @@ -2082,6 +2089,8 @@ public: ScTDistFunction( ScInterpreter& rI, double fpVal, double fDFVal ) : rInt(rI), fp(fpVal), fDF(fDFVal) {} + virtual ~ScTDistFunction() {} + double GetValue( double x ) const { return fp - 2 * rInt.GetTDist(x, fDF); } }; @@ -2115,6 +2124,8 @@ public: ScFDistFunction( ScInterpreter& rI, double fpVal, double fF1Val, double fF2Val ) : rInt(rI), fp(fpVal), fF1(fF1Val), fF2(fF2Val) {} + virtual ~ScFDistFunction() {} + double GetValue( double x ) const { return fp - rInt.GetFDist(x, fF1, fF2); } }; @@ -2149,6 +2160,8 @@ public: ScChiDistFunction( ScInterpreter& rI, double fpVal, double fDFVal ) : rInt(rI), fp(fpVal), fDF(fDFVal) {} + virtual ~ScChiDistFunction() {} + double GetValue( double x ) const { return fp - rInt.GetChiDist(x, fDF); } }; @@ -2183,6 +2196,8 @@ public: ScChiSqDistFunction( ScInterpreter& rI, double fpVal, double fDFVal ) : rInt(rI), fp(fpVal), fDF(fDFVal) {} + virtual ~ScChiSqDistFunction() {} + double GetValue( double x ) const { return fp - rInt.GetChiSqDistCDF(x, fDF); } }; diff --git a/sc/source/filter/inc/exp_op.hxx b/sc/source/filter/inc/exp_op.hxx index 3dabe04e6070..dd1e28cdda91 100644 --- a/sc/source/filter/inc/exp_op.hxx +++ b/sc/source/filter/inc/exp_op.hxx @@ -44,6 +44,8 @@ class SotStorage; class ExportTyp { protected: + ~ExportTyp() {} + SvStream& aOut; // Ausgabe-Stream ScDocument* pD; // Dokument CharSet eZielChar; // Ziel-Zeichensatz diff --git a/sc/source/filter/inc/ftools.hxx b/sc/source/filter/inc/ftools.hxx index 4bfac0961c83..64a5d5224cae 100644 --- a/sc/source/filter/inc/ftools.hxx +++ b/sc/source/filter/inc/ftools.hxx @@ -293,6 +293,7 @@ typedef ::std::vector< ::rtl::OUString > ScfStringVec; class ScFormatFilterPluginImpl : public ScFormatFilterPlugin { public: ScFormatFilterPluginImpl(); + virtual ~ScFormatFilterPluginImpl() {} // various import filters virtual FltError ScImportLotus123( SfxMedium&, ScDocument*, CharSet eSrc = RTL_TEXTENCODING_DONTKNOW ); virtual FltError ScImportQuattroPro( SfxMedium &rMedium, ScDocument *pDoc ); diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx index 9c9e0b710a3b..bb749aaffb92 100644 --- a/sc/source/ui/attrdlg/scdlgfact.hxx +++ b/sc/source/ui/attrdlg/scdlgfact.hxx @@ -389,6 +389,8 @@ class ScAbstractDialogFactory_Impl : public ScAbstractDialogFactory { public: + virtual ~ScAbstractDialogFactory_Impl() {} + virtual AbstractScImportAsciiDlg * CreateScImportAsciiDlg( Window* pParent, String aDatName, //add for ScImportAsciiDlg SvStream* pInStream, int nId, sal_Unicode cSep = '\t'); diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx index d4a8f80e6073..ff2929f08117 100644 --- a/sc/source/ui/docshell/impex.cxx +++ b/sc/source/ui/docshell/impex.cxx @@ -2070,6 +2070,7 @@ class ScFormatFilterMissing : public ScFormatFilterPlugin { { OSL_FAIL("Missing file filters"); } + virtual ~ScFormatFilterMissing() {} virtual FltError ScImportLotus123( SfxMedium&, ScDocument*, CharSet ) RETURN_ERROR virtual FltError ScImportQuattroPro( SfxMedium &, ScDocument * ) RETURN_ERROR virtual FltError ScImportExcel( SfxMedium&, ScDocument*, const EXCIMPFORMAT ) RETURN_ERROR diff --git a/sc/source/ui/inc/dpgroupdlg.hxx b/sc/source/ui/inc/dpgroupdlg.hxx index 7a1770ab6844..f6c88c94b0b9 100644 --- a/sc/source/ui/inc/dpgroupdlg.hxx +++ b/sc/source/ui/inc/dpgroupdlg.hxx @@ -50,6 +50,9 @@ public: double GetValue() const; void SetValue( bool bAuto, double fValue ); +protected: + ~ScDPGroupEditHelper() {} + private: virtual bool ImplGetValue( double& rfValue ) const = 0; virtual void ImplSetValue( double fValue ) = 0; @@ -71,6 +74,8 @@ public: RadioButton& rRbAuto, RadioButton& rRbMan, ScDoubleField& rEdValue ); + virtual ~ScDPNumGroupEditHelper() {} + private: virtual bool ImplGetValue( double& rfValue ) const; virtual void ImplSetValue( double fValue ); @@ -88,6 +93,8 @@ public: RadioButton& rRbAuto, RadioButton& rRbMan, DateField& rEdValue, const Date& rNullDate ); + virtual ~ScDPDateGroupEditHelper() {} + private: virtual bool ImplGetValue( double& rfValue ) const; virtual void ImplSetValue( double fValue ); diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index d8c3a9fc75ee..23a7492a6313 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -1018,6 +1018,9 @@ class RangeProcessor { public: virtual void process( const uno::Reference< excel::XRange >& xRange ) = 0; + +protected: + ~RangeProcessor() {} }; class RangeValueProcessor : public RangeProcessor @@ -1025,6 +1028,7 @@ class RangeValueProcessor : public RangeProcessor const uno::Any& m_aVal; public: RangeValueProcessor( const uno::Any& rVal ):m_aVal( rVal ) {} + virtual ~RangeValueProcessor() {} virtual void process( const uno::Reference< excel::XRange >& xRange ) { xRange->setValue( m_aVal ); @@ -1036,6 +1040,7 @@ class RangeFormulaProcessor : public RangeProcessor const uno::Any& m_aVal; public: RangeFormulaProcessor( const uno::Any& rVal ):m_aVal( rVal ) {} + virtual ~RangeFormulaProcessor() {} virtual void process( const uno::Reference< excel::XRange >& xRange ) { xRange->setFormula( m_aVal ); @@ -1047,6 +1052,7 @@ class RangeCountProcessor : public RangeProcessor sal_Int32 nCount; public: RangeCountProcessor():nCount(0){} + virtual ~RangeCountProcessor() {} virtual void process( const uno::Reference< excel::XRange >& xRange ) { nCount = nCount + xRange->getCount(); diff --git a/sd/inc/CustomAnimationEffect.hxx b/sd/inc/CustomAnimationEffect.hxx index a55acd3fab22..5d0c5e54c5a1 100644 --- a/sd/inc/CustomAnimationEffect.hxx +++ b/sd/inc/CustomAnimationEffect.hxx @@ -240,6 +240,9 @@ class ISequenceListener { public: virtual void notify_change() = 0; + +protected: + ~ISequenceListener() {} }; /** this class keeps track of a group of animations that build up diff --git a/sd/inc/sdabstdlg.hxx b/sd/inc/sdabstdlg.hxx index 09aabe3a87b5..8d3e6c09f79e 100644 --- a/sd/inc/sdabstdlg.hxx +++ b/sd/inc/sdabstdlg.hxx @@ -224,6 +224,9 @@ public: virtual CreateTabPage GetSdPrintOptionsTabPageCreatorFunc() = 0; virtual CreateTabPage GetSdOptionsMiscTabPageCreatorFunc() = 0; virtual CreateTabPage GetSdOptionsSnapTabPageCreatorFunc() = 0; + +protected: + ~SdAbstractDialogFactory() {} }; #endif diff --git a/sd/source/ui/dlg/sddlgfact.hxx b/sd/source/ui/dlg/sddlgfact.hxx index 9a0f5f829d1e..829932f0b3c7 100644 --- a/sd/source/ui/dlg/sddlgfact.hxx +++ b/sd/source/ui/dlg/sddlgfact.hxx @@ -259,6 +259,8 @@ class SdAbstractDialogFactory_Impl : public SdAbstractDialogFactory { public: + virtual ~SdAbstractDialogFactory_Impl() {} + virtual VclAbstractDialog* CreateBreakDlg(::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount ); virtual AbstractCopyDlg* CreateCopyDlg( ::Window* pWindow, const SfxItemSet& rInAttrs, const rtl::Reference<XColorList> &pColTab, ::sd::View* pView ); virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg( ::Window* pWindow, SdDrawDocument& rDrawDoc ); diff --git a/sd/source/ui/inc/ViewShellBase.hxx b/sd/source/ui/inc/ViewShellBase.hxx index e8e6f394cc4d..6c6ee69dbb13 100644 --- a/sd/source/ui/inc/ViewShellBase.hxx +++ b/sd/source/ui/inc/ViewShellBase.hxx @@ -263,6 +263,9 @@ class ICustomhandleSupplier { public: virtual void addCustomHandler( SdrView& rSourceView, ViewShell::ShellType eShellType, SdrHdlList& rHandlerList ) = 0; + +protected: + ~ICustomhandleSupplier() {} }; } // end of namespace sd diff --git a/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx b/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx index 138353ee0d0b..9a22bc3b7d23 100644 --- a/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx +++ b/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx @@ -44,6 +44,9 @@ public: resized. */ virtual void RequestResize (void) = 0; + +protected: + ~ILayouter() {} }; diff --git a/sd/source/ui/inc/tools/AsynchronousTask.hxx b/sd/source/ui/inc/tools/AsynchronousTask.hxx index f27508cd278a..f05d0cce5516 100644 --- a/sd/source/ui/inc/tools/AsynchronousTask.hxx +++ b/sd/source/ui/inc/tools/AsynchronousTask.hxx @@ -49,6 +49,9 @@ public: returned. */ virtual bool HasNextStep (void) = 0; + +protected: + ~AsynchronousTask() {} }; } } // end of namespace ::sd::tools diff --git a/sd/source/ui/slidesorter/cache/SlsBitmapCompressor.hxx b/sd/source/ui/slidesorter/cache/SlsBitmapCompressor.hxx index d1b67da6ebc3..a8fe6aa69521 100644 --- a/sd/source/ui/slidesorter/cache/SlsBitmapCompressor.hxx +++ b/sd/source/ui/slidesorter/cache/SlsBitmapCompressor.hxx @@ -66,6 +66,9 @@ public: the returned bitmap as is or if a new preview has to be created. */ virtual bool IsLossless (void) const = 0; + +protected: + ~BitmapCompressor() {} }; @@ -78,6 +81,9 @@ class BitmapReplacement { public: virtual sal_Int32 GetMemorySize (void) const { return 0; } + +protected: + ~BitmapReplacement() {} }; diff --git a/sd/source/ui/slidesorter/inc/cache/SlsCacheContext.hxx b/sd/source/ui/slidesorter/inc/cache/SlsCacheContext.hxx index aaf99ad19886..7f094b0643c5 100644 --- a/sd/source/ui/slidesorter/inc/cache/SlsCacheContext.hxx +++ b/sd/source/ui/slidesorter/inc/cache/SlsCacheContext.hxx @@ -47,6 +47,8 @@ typedef const SdrPage* CacheKey; class CacheContext { public: + virtual ~CacheContext() {} + /** This method is called when the asynchronous creation of a preview has been finished. @param aKey diff --git a/sd/source/ui/slidesorter/inc/model/SlsEnumeration.hxx b/sd/source/ui/slidesorter/inc/model/SlsEnumeration.hxx index fe4b1cc12506..0de68b5a85e8 100644 --- a/sd/source/ui/slidesorter/inc/model/SlsEnumeration.hxx +++ b/sd/source/ui/slidesorter/inc/model/SlsEnumeration.hxx @@ -41,6 +41,8 @@ template <class T> class Enumeration { public: + virtual ~Enumeration() {} + virtual bool HasMoreElements (void) const = 0; /** Returns T instead of T& so that it can handle shared pointers. */ diff --git a/sd/source/ui/slidesorter/inc/view/SlsILayerPainter.hxx b/sd/source/ui/slidesorter/inc/view/SlsILayerPainter.hxx index 98ef3f04af0f..a01b402d6038 100644 --- a/sd/source/ui/slidesorter/inc/view/SlsILayerPainter.hxx +++ b/sd/source/ui/slidesorter/inc/view/SlsILayerPainter.hxx @@ -40,6 +40,8 @@ namespace sd { namespace slidesorter { namespace view { class ILayerInvalidator { public: + virtual ~ILayerInvalidator() {} + virtual void Invalidate (const Rectangle& rInvalidationBox) = 0; }; typedef ::boost::shared_ptr<ILayerInvalidator> SharedILayerInvalidator; @@ -47,6 +49,8 @@ typedef ::boost::shared_ptr<ILayerInvalidator> SharedILayerInvalidator; class ILayerPainter { public: + virtual ~ILayerPainter() {} + virtual void SetLayerInvalidator ( const SharedILayerInvalidator& rpInvalidator) = 0; virtual void Paint ( diff --git a/sd/source/ui/slidesorter/view/SlsInsertAnimator.cxx b/sd/source/ui/slidesorter/view/SlsInsertAnimator.cxx index 0a2408d3dcbe..06ef5d2de3f7 100644 --- a/sd/source/ui/slidesorter/view/SlsInsertAnimator.cxx +++ b/sd/source/ui/slidesorter/view/SlsInsertAnimator.cxx @@ -54,6 +54,9 @@ public: virtual view::SlideSorterView& GetView (void) const = 0; virtual ::boost::shared_ptr<controller::Animator> GetAnimator (void) = 0; virtual SharedSdWindow GetContentWindow (void) = 0; + +protected: + ~AnimatorAccess() {} }; diff --git a/sd/source/ui/toolpanel/controls/MasterPageContainerFiller.hxx b/sd/source/ui/toolpanel/controls/MasterPageContainerFiller.hxx index 661a26bd68b8..7776624e8d9a 100644 --- a/sd/source/ui/toolpanel/controls/MasterPageContainerFiller.hxx +++ b/sd/source/ui/toolpanel/controls/MasterPageContainerFiller.hxx @@ -57,6 +57,9 @@ public: to the container via the PutMasterPage() method. */ virtual void FillingDone (void) = 0; + + protected: + ~ContainerAdapter() {} }; MasterPageContainerFiller (ContainerAdapter& rContainerAdapter); diff --git a/sd/source/ui/toolpanel/controls/MasterPageContainerProviders.hxx b/sd/source/ui/toolpanel/controls/MasterPageContainerProviders.hxx index 85a8cf7ed40a..b09394a3cab7 100644 --- a/sd/source/ui/toolpanel/controls/MasterPageContainerProviders.hxx +++ b/sd/source/ui/toolpanel/controls/MasterPageContainerProviders.hxx @@ -66,6 +66,9 @@ public: virtual int GetCostIndex (void) = 0; virtual bool operator== (const PageObjectProvider& rProvider) = 0; + +protected: + ~PageObjectProvider() {} }; @@ -100,6 +103,9 @@ public: preview. */ virtual bool NeedsPageObject (void) = 0; + +protected: + ~PreviewProvider() {} }; diff --git a/sd/source/ui/toolpanel/controls/MasterPageContainerQueue.hxx b/sd/source/ui/toolpanel/controls/MasterPageContainerQueue.hxx index 2cab5d31edc5..804d87521b89 100644 --- a/sd/source/ui/toolpanel/controls/MasterPageContainerQueue.hxx +++ b/sd/source/ui/toolpanel/controls/MasterPageContainerQueue.hxx @@ -47,12 +47,16 @@ namespace sd { namespace toolpanel { namespace controls { class MasterPageContainerQueue { public: - class ContainerAdapter { public: + class ContainerAdapter { + public: virtual bool UpdateDescriptor ( const SharedMasterPageDescriptor& rpDescriptor, bool bForcePageObject, bool bForcePreview, bool bSendEvents) = 0; + + protected: + ~ContainerAdapter() {} }; static MasterPageContainerQueue* Create ( diff --git a/sdext/source/pdfimport/tree/treevisiting.hxx b/sdext/source/pdfimport/tree/treevisiting.hxx index 2da532e03e4a..6af5402af994 100644 --- a/sdext/source/pdfimport/tree/treevisiting.hxx +++ b/sdext/source/pdfimport/tree/treevisiting.hxx @@ -75,6 +75,9 @@ namespace pdfi struct ElementTreeVisitable { virtual void visitedBy( ElementTreeVisitor&, const std::list< Element* >::const_iterator& rParentIt ) = 0; + + protected: + ~ElementTreeVisitable() {} }; typedef boost::shared_ptr<ElementTreeVisitable> ElementTreeVisitableSharedPtr; } diff --git a/sdext/source/presenter/PresenterTimer.hxx b/sdext/source/presenter/PresenterTimer.hxx index f674a03f8e9c..eca3dc307dc1 100644 --- a/sdext/source/presenter/PresenterTimer.hxx +++ b/sdext/source/presenter/PresenterTimer.hxx @@ -88,8 +88,12 @@ class PresenterClockTimer public PresenterClockTimerInterfaceBase { public: - class Listener { public: + class Listener { + public: virtual void TimeHasChanged (const oslDateTime& rCurrentTime) = 0; + + protected: + ~Listener() {} }; typedef ::boost::shared_ptr<Listener> SharedListener; diff --git a/sdext/source/presenter/PresenterViewFactory.hxx b/sdext/source/presenter/PresenterViewFactory.hxx index 7d06be5515d1..a37435554fbf 100644 --- a/sdext/source/presenter/PresenterViewFactory.hxx +++ b/sdext/source/presenter/PresenterViewFactory.hxx @@ -76,6 +76,8 @@ protected: bool mbIsPresenterViewActive; CachablePresenterView (void); + + ~CachablePresenterView() {} }; /** Factory of the presenter screen specific views. The supported set of diff --git a/sfx2/inc/sfx2/docmacromode.hxx b/sfx2/inc/sfx2/docmacromode.hxx index 48b58b4ecd9b..a9f2a9dfeeed 100644 --- a/sfx2/inc/sfx2/docmacromode.hxx +++ b/sfx2/inc/sfx2/docmacromode.hxx @@ -192,6 +192,9 @@ namespace sfx2 showBrokenSignatureWarning( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxInteraction ) const = 0; + + protected: + ~IMacroDocumentAccess() {} }; //==================================================================== diff --git a/sfx2/inc/sfx2/docstoragemodifylistener.hxx b/sfx2/inc/sfx2/docstoragemodifylistener.hxx index b6ac0da8becb..3bf32be455cb 100644 --- a/sfx2/inc/sfx2/docstoragemodifylistener.hxx +++ b/sfx2/inc/sfx2/docstoragemodifylistener.hxx @@ -53,6 +53,9 @@ namespace sfx2 public: /// indicates the root or a sub storage of the document has been modified virtual void storageIsModified() = 0; + + protected: + ~IModifiableDocument() {} }; //==================================================================== diff --git a/sfx2/inc/sfx2/itemwrapper.hxx b/sfx2/inc/sfx2/itemwrapper.hxx index 55d7c9b2a4d3..b440b7cf90b8 100644 --- a/sfx2/inc/sfx2/itemwrapper.hxx +++ b/sfx2/inc/sfx2/itemwrapper.hxx @@ -105,6 +105,8 @@ public: inline explicit SingleItemWrapper( sal_uInt16 nSlot ) : mnSlot( nSlot ) {} + virtual ~SingleItemWrapper() {} + /** Returns the SID this wrapper works on. */ inline sal_uInt16 GetSlotId() const { return mnSlot; } @@ -146,6 +148,8 @@ public: inline explicit ValueItemWrapper( sal_uInt16 nSlot ) : SingleItemWrapper< ItemT, ValueT >( nSlot ) {} + virtual ~ValueItemWrapper() {} + virtual ValueT GetItemValue( const ItemT& rItem ) const { return static_cast< ValueT >( rItem.GetValue() ); } virtual void SetItemValue( ItemT& rItem, ValueT aValue ) const @@ -171,6 +175,8 @@ public: inline explicit IdentItemWrapper( sal_uInt16 nSlot ) : SingleItemWrapper< ItemT, const ItemT& >( nSlot ) {} + virtual ~IdentItemWrapper() {} + virtual const ItemT& GetItemValue( const ItemT& rItem ) const { return rItem; } virtual void SetItemValue( ItemT& rItem, const ItemT& rValue ) const diff --git a/sfx2/inc/sfx2/sfxstatuslistener.hxx b/sfx2/inc/sfx2/sfxstatuslistener.hxx index 2fa370e717b7..e2ff595e80d8 100644 --- a/sfx2/inc/sfx2/sfxstatuslistener.hxx +++ b/sfx2/inc/sfx2/sfxstatuslistener.hxx @@ -46,6 +46,9 @@ class SfxStatusListenerInterface { public: virtual void StateChanged( sal_uInt16 nSlotId, SfxItemState eState, const SfxPoolItem* pState ) = 0; + + protected: + ~SfxStatusListenerInterface() {} }; class SFX2_DLLPUBLIC SfxStatusListener : diff --git a/sfx2/inc/sfx2/taskpane.hxx b/sfx2/inc/sfx2/taskpane.hxx index fe0f2bb788c7..ca3edb5de682 100644 --- a/sfx2/inc/sfx2/taskpane.hxx +++ b/sfx2/inc/sfx2/taskpane.hxx @@ -55,6 +55,9 @@ namespace sfx2 { public: virtual void ActivateToolPanel( const ::rtl::OUString& i_rPanelURL ) = 0; + + protected: + ~ITaskPaneToolPanelAccess() {} }; //================================================================================================================== @@ -95,6 +98,9 @@ namespace sfx2 const ::rtl::OUString& i_rLHS, const ::rtl::OUString& i_rRHS ) const = 0; + + protected: + ~IToolPanelCompare() {} }; //================================================================================================================== diff --git a/sfx2/inc/sfx2/templdlg.hxx b/sfx2/inc/sfx2/templdlg.hxx index e235e760698c..02132266e6d3 100644 --- a/sfx2/inc/sfx2/templdlg.hxx +++ b/sfx2/inc/sfx2/templdlg.hxx @@ -47,6 +47,9 @@ class ISfxTemplateCommon public: virtual SfxStyleFamily GetActualFamily() const = 0; virtual String GetSelectedEntry() const = 0; + +protected: + ~ISfxTemplateCommon() {} }; // class SfxTemplateDialog ----------------------------------------------- diff --git a/sfx2/source/doc/docundomanager.cxx b/sfx2/source/doc/docundomanager.cxx index a51f8071a845..6c3948163e4c 100644 --- a/sfx2/source/doc/docundomanager.cxx +++ b/sfx2/source/doc/docundomanager.cxx @@ -184,6 +184,8 @@ namespace sfx2 { } + virtual ~SolarMutexFacade() {} + virtual void acquire() { Application::GetSolarMutex().acquire(); diff --git a/sfx2/source/inc/templdgi.hxx b/sfx2/source/inc/templdgi.hxx index ea05d074b4cd..895e0af68a27 100644 --- a/sfx2/source/inc/templdgi.hxx +++ b/sfx2/source/inc/templdgi.hxx @@ -111,6 +111,7 @@ private: SfxCommonTemplateDialog_Impl* pDialog; public: ISfxTemplateCommon_Impl( SfxCommonTemplateDialog_Impl* pDialogP ) : pDialog( pDialogP ) {} + virtual ~ISfxTemplateCommon_Impl() {} virtual SfxStyleFamily GetActualFamily() const { return pDialog->GetActualFamily(); } virtual String GetSelectedEntry() const { return pDialog->GetSelectedEntry(); } }; diff --git a/slideshow/source/inc/doctreenodesupplier.hxx b/slideshow/source/inc/doctreenodesupplier.hxx index 971ad028cb03..943a4b16af2c 100644 --- a/slideshow/source/inc/doctreenodesupplier.hxx +++ b/slideshow/source/inc/doctreenodesupplier.hxx @@ -144,6 +144,9 @@ namespace slideshow virtual DocTreeNode getSubsetTreeNode( const DocTreeNode& rParentNode, sal_Int32 nNodeIndex, DocTreeNode::NodeType eNodeType ) const = 0; // throw ShapeLoadFailedException; + + protected: + ~DocTreeNodeSupplier() {} }; } diff --git a/slideshow/source/inc/hyperlinkarea.hxx b/slideshow/source/inc/hyperlinkarea.hxx index 14a1064b51d4..32426d4bdb9d 100644 --- a/slideshow/source/inc/hyperlinkarea.hxx +++ b/slideshow/source/inc/hyperlinkarea.hxx @@ -96,6 +96,9 @@ namespace slideshow return nPrioL == nPrioR ? rLHS.get() < rRHS.get() : nPrioL < nPrioR; } }; + + protected: + ~HyperlinkArea() {} }; typedef boost::shared_ptr< HyperlinkArea > HyperlinkAreaSharedPtr; diff --git a/slideshow/source/inc/hyperlinkhandler.hxx b/slideshow/source/inc/hyperlinkhandler.hxx index 0d3ccfd2ed0d..2abef61e6d65 100644 --- a/slideshow/source/inc/hyperlinkhandler.hxx +++ b/slideshow/source/inc/hyperlinkhandler.hxx @@ -59,6 +59,9 @@ namespace slideshow too. */ virtual bool handleHyperlink( ::rtl::OUString const& rLink ) = 0; + + protected: + ~HyperlinkHandler() {} }; typedef ::boost::shared_ptr< HyperlinkHandler > HyperlinkHandlerSharedPtr; diff --git a/slideshow/source/inc/pauseeventhandler.hxx b/slideshow/source/inc/pauseeventhandler.hxx index d830ee0d5f46..c5f01a86e440 100644 --- a/slideshow/source/inc/pauseeventhandler.hxx +++ b/slideshow/source/inc/pauseeventhandler.hxx @@ -60,6 +60,9 @@ namespace slideshow called, too. */ virtual bool handlePause( bool bPauseShow ) = 0; + + protected: + ~PauseEventHandler() {} }; typedef ::boost::shared_ptr< PauseEventHandler > PauseEventHandlerSharedPtr; diff --git a/slideshow/source/inc/screenupdater.hxx b/slideshow/source/inc/screenupdater.hxx index 15ed1e26f3fe..c779efc144fc 100644 --- a/slideshow/source/inc/screenupdater.hxx +++ b/slideshow/source/inc/screenupdater.hxx @@ -109,7 +109,13 @@ namespace slideshow */ void requestImmediateUpdate(); - class UpdateLock {public: virtual void Activate (void) = 0; }; + class UpdateLock { + public: + virtual void Activate (void) = 0; + + protected: + ~UpdateLock() {} + }; /** Call this method to create a lock instead of calling lockUpdates() and unlockUpdates() directly. diff --git a/slideshow/source/inc/slide.hxx b/slideshow/source/inc/slide.hxx index d39a1b315785..7b39419ca0b8 100644 --- a/slideshow/source/inc/slide.hxx +++ b/slideshow/source/inc/slide.hxx @@ -155,6 +155,9 @@ namespace slideshow */ virtual SlideBitmapSharedPtr getCurrentSlideBitmap( const UnoViewSharedPtr& rView ) const = 0; + + protected: + ~Slide() {} }; typedef ::boost::shared_ptr< Slide > SlideSharedPtr; diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk index af79bee2c3eb..8d851ef2d5ac 100644 --- a/solenv/gbuild/UnoApiTarget.mk +++ b/solenv/gbuild/UnoApiTarget.mk @@ -270,7 +270,7 @@ endif # - get idlc switch "-P" (generate .urd into package dir) # - empty $? in headertarget? -$(call gb_UnoApiTarget_get_target,%): +$(call gb_UnoApiTarget_get_target,%): $(gb_UnoApiTarget_CPPUMAKERTARGET) $(call gb_Output_announce,$*,$(true),RDB,3) $(if $(gb_UnoApiTarget_IDLFILES_$*),$(call gb_UnoApiTarget__command,$@,$*,$<,UCR,$(addprefix $(call gb_UnoApiPartTarget_get_target,),$(patsubst %.idl,%.urd,$(gb_UnoApiTarget_IDLFILES_$*))))) $(if $(UNOAPI_MERGE),$(call gb_UnoApiTarget__command,$@,$*,$<,/,$(UNOAPI_MERGE))) diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 43f58a7cf0b4..1565d1c765e9 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -32,6 +32,9 @@ gb_Executable_EXT:= include $(GBUILDDIR)/platform/com_GCC_defs.mk +gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print $$1*10000+$$2*100+$$3 }') +gb_GccLess460 := $(shell expr $(gb_CCVER) \< 40600) + gb_MKTEMP := mktemp -t gbuild.XXXXXX ifneq ($(origin AR),default) @@ -55,16 +58,23 @@ gb_CFLAGS := \ -Wdeclaration-after-statement \ -Wshadow \ -# For -Wno-non-virtual-dtor see <http://markmail.org/message/664jsoqe6n6smy3b> -# "Re: [dev] warnings01: -Wnon-virtual-dtor" message to dev@openoffice.org from -# Feb 1, 2006: gb_CXXFLAGS := \ $(gb_CXXFLAGS_COMMON) \ -fPIC \ -Wshadow \ -Wsign-promo \ -Woverloaded-virtual \ - -Wno-non-virtual-dtor \ + +# Only GCC 4.6 has a fix for <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7302> +# "-Wnon-virtual-dtor should't complain of protected dtor" and supports #pragma +# GCC diagnostic push/pop required e.g. in cppuhelper/propertysetmixin.hxx to +# silence warnings about a protected, non-virtual dtor in a class with virtual +# members and friends: +ifeq ($(gb_GccLess460),1) +gb_CXXFLAGS += -Wno-non-virtual-dtor +else +gb_CXXFLAGS += -Wnon-virtual-dtor +endif ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE) gb_COMPILERDEFS += \ @@ -97,9 +107,6 @@ gb_COMPILERDEFS += \ endif -gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print $$1*10000+$$2*100+$$3 }') -gb_GccLess460 := $(shell expr $(gb_CCVER) \< 40600) - #At least SLED 10.2 gcc 4.3 overly agressively optimizes uno::Sequence into #junk, so only strict-alias on >= 4.6.0 gb_StrictAliasingUnsafe := $(gb_GccLess460) diff --git a/solenv/inc/unxgcc.mk b/solenv/inc/unxgcc.mk index 8bfeebc20cf6..5ef9f9871569 100644 --- a/solenv/inc/unxgcc.mk +++ b/solenv/inc/unxgcc.mk @@ -143,12 +143,22 @@ CFLAGSOUTOBJ=-o # -Wshadow does not work for C with nested uses of pthread_cleanup_push: CFLAGSWARNBOTH=-Wall -Wextra -Wendif-labels CFLAGSWARNCC=$(CFLAGSWARNBOTH) -Wdeclaration-after-statement -CFLAGSWARNCXX=$(CFLAGSWARNBOTH) -Wshadow -Wno-ctor-dtor-privacy \ - -Wno-non-virtual-dtor +CFLAGSWARNCXX=$(CFLAGSWARNBOTH) -Wshadow -Wno-ctor-dtor-privacy CFLAGSWALLCC=$(CFLAGSWARNCC) CFLAGSWALLCXX=$(CFLAGSWARNCXX) CFLAGSWERRCC=-Werror -DLIBO_WERROR +# Only GCC 4.6 has a fix for <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7302> +# "-Wnon-virtual-dtor should't complain of protected dtor" and supports #pragma +# GCC diagnostic push/pop required e.g. in cppuhelper/propertysetmixin.hxx to +# silence warnings about a protected, non-virtual dtor in a class with virtual +# members and friends: +.IF "$(GCCNUMVER)" <= "000400059999" +CFLAGSWARNCXX += -Wno-non-virtual-dtor +.ELSE +CFLAGSWARNCXX += -Wnon-virtual-dtor +.END + COMPILER_WARN_ERRORS=TRUE # switches for dynamic and static linking diff --git a/starmath/inc/visitors.hxx b/starmath/inc/visitors.hxx index f4855dc93cbf..9f792124d1c4 100644 --- a/starmath/inc/visitors.hxx +++ b/starmath/inc/visitors.hxx @@ -65,12 +65,16 @@ public: virtual void Visit( SmRootSymbolNode* pNode ) = 0; virtual void Visit( SmRectangleNode* pNode ) = 0; virtual void Visit( SmVerticalBraceNode* pNode ) = 0; + +protected: + ~SmVisitor() {} }; /** Simple visitor for testing SmVisitor */ class SmVisitorTest : public SmVisitor { public: + virtual ~SmVisitorTest() {} void Visit( SmTableNode* pNode ); void Visit( SmBraceNode* pNode ); void Visit( SmBracebodyNode* pNode ); @@ -142,6 +146,8 @@ public: void Visit( SmRectangleNode* pNode ); void Visit( SmVerticalBraceNode* pNode ); protected: + ~SmDefaultingVisitor() {} + /** Method invoked by Visit methods by default */ virtual void DefaultVisit( SmNode* pNode ) = 0; }; @@ -154,6 +160,7 @@ class SmCaretDrawingVisitor : public SmDefaultingVisitor public: /** Given position and device this constructor will draw the caret */ SmCaretDrawingVisitor( OutputDevice& rDevice, SmCaretPos position, Point offset, bool caretVisible ); + virtual ~SmCaretDrawingVisitor() {} void Visit( SmTextNode* pNode ); using SmDefaultingVisitor::Visit; private: @@ -181,6 +188,7 @@ public: pos.pSelectedNode->Accept( this ); } + virtual ~SmCaretPos2LineVisitor() {} void Visit( SmTextNode* pNode ); using SmDefaultingVisitor::Visit; SmCaretLine GetResult( ){ @@ -212,6 +220,7 @@ public: this->Position = position; pTree->Accept( this ); } + virtual ~SmDrawingVisitor() {} void Visit( SmTableNode* pNode ); void Visit( SmBraceNode* pNode ); void Visit( SmBracebodyNode* pNode ); @@ -268,6 +277,7 @@ class SmSetSelectionVisitor : public SmDefaultingVisitor { public: SmSetSelectionVisitor( SmCaretPos startPos, SmCaretPos endPos, SmNode* pNode); + virtual ~SmSetSelectionVisitor() {} void Visit( SmBinHorNode* pNode ); void Visit( SmUnHorNode* pNode ); void Visit( SmFontNode* pNode ); @@ -327,6 +337,7 @@ class SmCaretPosGraphBuildingVisitor : public SmVisitor public: /** Builds a caret position graph for pRootNode */ SmCaretPosGraphBuildingVisitor( SmNode* pRootNode ); + virtual ~SmCaretPosGraphBuildingVisitor() {} void Visit( SmTableNode* pNode ); void Visit( SmBraceNode* pNode ); void Visit( SmBracebodyNode* pNode ); @@ -372,6 +383,7 @@ class SmCloningVisitor : public SmVisitor { public: SmCloningVisitor( ){ pResult = NULL; } + virtual ~SmCloningVisitor() {} void Visit( SmTableNode* pNode ); void Visit( SmBraceNode* pNode ); void Visit( SmBracebodyNode* pNode ); @@ -417,6 +429,7 @@ class SmSelectionDrawingVisitor : public SmDefaultingVisitor public: /** Draws a selection on rDevice for the selection on pTree */ SmSelectionDrawingVisitor( OutputDevice& rDevice, SmNode* pTree, Point Offset ); + virtual ~SmSelectionDrawingVisitor() {} void Visit( SmTextNode* pNode ); using SmDefaultingVisitor::Visit; private: @@ -444,6 +457,7 @@ public: : rCmdText( rText ) { pNode->Accept( this ); } + virtual ~SmNodeToTextVisitor() {} void Visit( SmTableNode* pNode ); void Visit( SmBraceNode* pNode ); void Visit( SmBracebodyNode* pNode ); diff --git a/store/inc/store/store.hxx b/store/inc/store/store.hxx index e4970845d38b..aa5be983d999 100644 --- a/store/inc/store/store.hxx +++ b/store/inc/store/store.hxx @@ -336,6 +336,9 @@ public: @return sal_True to continue iteration, sal_False to stop. */ virtual sal_Bool visit (const iterator& it) = 0; + + protected: + ~traveller() {} }; /** Directory traversal. diff --git a/store/source/lockbyte.hxx b/store/source/lockbyte.hxx index c54b64d538c8..8a6d01cc027d 100644 --- a/store/source/lockbyte.hxx +++ b/store/source/lockbyte.hxx @@ -111,6 +111,9 @@ public: */ storeError flush(); +protected: + ~ILockBytes() {} + private: /** Implementation (abstract). */ diff --git a/store/source/object.hxx b/store/source/object.hxx index 6f30372fdac4..5a6c9d9887fd 100644 --- a/store/source/object.hxx +++ b/store/source/object.hxx @@ -49,6 +49,9 @@ public: /** Replaces dynamic_cast type checking. */ virtual sal_Bool SAL_CALL isKindOf (sal_uInt32 nTypeId) = 0; + +protected: + ~IStoreHandle() {} }; diff --git a/store/source/storbase.hxx b/store/source/storbase.hxx index 9e7308936b3c..06c322ac47c8 100644 --- a/store/source/storbase.hxx +++ b/store/source/storbase.hxx @@ -511,6 +511,9 @@ struct PageData static storeError createInstance ( rtl::Reference< PageData::Allocator > & rxAllocator, sal_uInt16 nPageSize); + protected: + ~Allocator() {} + private: /** Implementation (abstract). */ diff --git a/store/source/storcach.hxx b/store/source/storcach.hxx index 46ad5eff15f0..60edc04ad889 100644 --- a/store/source/storcach.hxx +++ b/store/source/storcach.hxx @@ -70,6 +70,9 @@ public: storeError removePageAt ( sal_uInt32 nOffset); +protected: + ~PageCache() {} + private: /** Implementation (abstract). */ diff --git a/svl/inc/svl/itempool.hxx b/svl/inc/svl/itempool.hxx index 27a8038c5195..91389cfa69f7 100644 --- a/svl/inc/svl/itempool.hxx +++ b/svl/inc/svl/itempool.hxx @@ -85,6 +85,9 @@ class SVL_DLLPUBLIC SfxItemPoolUser { public: virtual void ObjectInDestruction(const SfxItemPool& rSfxItemPool) = 0; + +protected: + ~SfxItemPoolUser() {} }; class SVL_DLLPUBLIC SfxItemPool diff --git a/svl/inc/svl/undo.hxx b/svl/inc/svl/undo.hxx index 4e18504fbfc7..828810a541a8 100644 --- a/svl/inc/svl/undo.hxx +++ b/svl/inc/svl/undo.hxx @@ -215,6 +215,9 @@ public: virtual void listActionLeftAndMerged() = 0; virtual void listActionCancelled() = 0; virtual void undoManagerDying() = 0; + +protected: + ~SfxUndoListener() {} }; //========================================================================= diff --git a/svtools/inc/svtools/accessiblefactory.hxx b/svtools/inc/svtools/accessiblefactory.hxx index 6fefb18a17a1..f747b9a4cb31 100644 --- a/svtools/inc/svtools/accessiblefactory.hxx +++ b/svtools/inc/svtools/accessiblefactory.hxx @@ -180,6 +180,9 @@ namespace svt ::svt::IToolPanelDeck& i_rPanelDeck, ::svt::PanelTabBar& i_rTabBar ) = 0; + + protected: + ~IAccessibleFactory() {} }; //........................................................................ diff --git a/svtools/inc/svtools/accessibletable.hxx b/svtools/inc/svtools/accessibletable.hxx index 5afd1ff2d68e..5d8c932f8b48 100644 --- a/svtools/inc/svtools/accessibletable.hxx +++ b/svtools/inc/svtools/accessibletable.hxx @@ -128,6 +128,9 @@ public: virtual bool IsRowSelected( sal_Int32 const i_rowIndex ) const = 0; virtual void SelectRow( sal_Int32 const i_rowIndex, bool const i_select ) = 0; virtual void SelectAllRows( bool const i_select ) = 0; + +protected: + ~IAccessibleTable() {} }; // ---------------------------------------------------------------------------- @@ -172,6 +175,9 @@ public: const ::com::sun::star::uno::Any& rNewValue, const ::com::sun::star::uno::Any& rOldValue ) = 0; + +protected: + ~IAccessibleTableControl() {} }; // ---------------------------------------------------------------------------- diff --git a/svtools/inc/svtools/accessibletableprovider.hxx b/svtools/inc/svtools/accessibletableprovider.hxx index 3f16370a4bad..558ee6f9f357 100644 --- a/svtools/inc/svtools/accessibletableprovider.hxx +++ b/svtools/inc/svtools/accessibletableprovider.hxx @@ -141,6 +141,9 @@ public: virtual Rectangle GetFieldCharacterBounds(sal_Int32 _nRow,sal_Int32 _nColumnPos,sal_Int32 nIndex) = 0; virtual sal_Int32 GetFieldIndexAtPoint(sal_Int32 _nRow,sal_Int32 _nColumnPos,const Point& _rPoint) = 0; + +protected: + ~IAccessibleTableProvider() {} }; // ---------------------------------------------------------------------------- @@ -168,6 +171,9 @@ public: */ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > getHeaderBar( ::svt::AccessibleBrowseBoxObjType _eObjType ) = 0; + +protected: + ~IAccessibleTabListBox() {} }; /** interface for an implementation of a browse box's Accesible component @@ -239,6 +245,9 @@ public: const ::com::sun::star::uno::Any& rNewValue, const ::com::sun::star::uno::Any& rOldValue ) = 0; + +protected: + ~IAccessibleBrowseBox() {} }; // ---------------------------------------------------------------------------- diff --git a/svtools/inc/svtools/table/tablesort.hxx b/svtools/inc/svtools/table/tablesort.hxx index 5c0245776f46..760004fffe90 100644 --- a/svtools/inc/svtools/table/tablesort.hxx +++ b/svtools/inc/svtools/table/tablesort.hxx @@ -83,6 +83,9 @@ namespace svt { namespace table the data is currently not sorted. */ virtual ColumnSort getCurrentSortOrder() const = 0; + + protected: + ~ITableDataSort() {} }; //...................................................................................................................... diff --git a/svtools/inc/svtools/toolpanel/toolpaneldeck.hxx b/svtools/inc/svtools/toolpanel/toolpaneldeck.hxx index 8c277c80c9df..b360cfc47120 100644 --- a/svtools/inc/svtools/toolpanel/toolpaneldeck.hxx +++ b/svtools/inc/svtools/toolpanel/toolpaneldeck.hxx @@ -74,6 +74,9 @@ namespace svt release all references to the deck then. */ virtual void Dying() = 0; + + protected: + ~IToolPanelDeckListener() {} }; //==================================================================== @@ -129,6 +132,9 @@ namespace svt /** removes a container listener previously added via addListener. */ virtual void RemoveListener( IToolPanelDeckListener& i_rListener ) = 0; + + protected: + ~IToolPanelDeck() {} }; //==================================================================== diff --git a/svtools/inc/svtools/wizardmachine.hxx b/svtools/inc/svtools/wizardmachine.hxx index 8700bf4ede06..f84a78e5400d 100644 --- a/svtools/inc/svtools/wizardmachine.hxx +++ b/svtools/inc/svtools/wizardmachine.hxx @@ -87,6 +87,9 @@ namespace svt The default implementation always returns <TRUE/>. */ virtual bool canAdvance() const = 0; + + protected: + ~IWizardPageController() {} }; //===================================================================== diff --git a/svtools/source/contnr/contentenumeration.hxx b/svtools/source/contnr/contentenumeration.hxx index 612f71ff435d..576b0e6e5721 100644 --- a/svtools/source/contnr/contentenumeration.hxx +++ b/svtools/source/contnr/contentenumeration.hxx @@ -135,6 +135,9 @@ namespace svt { public: virtual sal_Bool GetTranslation( const ::rtl::OUString& _rOriginalName, ::rtl::OUString& _rTranslatedName ) const = 0; + + protected: + ~IContentTitleTranslation() {} }; //==================================================================== @@ -180,6 +183,9 @@ namespace svt { public: virtual void enumerationDone( EnumerationResult _eResult ) = 0; + + protected: + ~IEnumerationResultHandler() {} }; //==================================================================== diff --git a/svtools/source/contnr/fileview.cxx b/svtools/source/contnr/fileview.cxx index 9180e77bea86..b6868319eb5b 100644 --- a/svtools/source/contnr/fileview.cxx +++ b/svtools/source/contnr/fileview.cxx @@ -113,6 +113,9 @@ namespace { public: virtual void onTimeout( CallbackTimer* _pInstigator ) = 0; + + protected: + ~ITimeoutHandler() {} }; //==================================================================== diff --git a/svtools/source/toolpanel/paneltabbar.cxx b/svtools/source/toolpanel/paneltabbar.cxx index 9baad589b62c..71e0616916ce 100644 --- a/svtools/source/toolpanel/paneltabbar.cxx +++ b/svtools/source/toolpanel/paneltabbar.cxx @@ -100,6 +100,9 @@ namespace svt // class, but not at the OutputDevice. This makes the API somewhat weird, as we're now mixing operations on the // target device, done in a normalized geometry, with operations on the window, done in a transformed geometry. // So, we should get rid of postRenderItem completely. + + protected: + ~ITabBarRenderer() {} }; typedef ::boost::shared_ptr< ITabBarRenderer > PTabBarRenderer; @@ -265,6 +268,8 @@ namespace svt { } + virtual ~NWFTabItemRenderer() {} + // ITabBarRenderer virtual void renderBackground() const; virtual Rectangle calculateDecorations( const Rectangle& i_rContentArea, const ItemFlags i_nItemFlags ) const; diff --git a/svx/inc/svx/IAccessibleViewForwarderListener.hxx b/svx/inc/svx/IAccessibleViewForwarderListener.hxx index ac8a94a6d821..c7456218747f 100644 --- a/svx/inc/svx/IAccessibleViewForwarderListener.hxx +++ b/svx/inc/svx/IAccessibleViewForwarderListener.hxx @@ -68,6 +68,9 @@ public: */ virtual void ViewForwarderChanged (ChangeType aChangeType, const IAccessibleViewForwarder* pViewForwarder) = 0; + +protected: + ~IAccessibleViewForwarderListener() {} }; } // end of namespace accessibility diff --git a/svx/inc/svx/fmdmod.hxx b/svx/inc/svx/fmdmod.hxx index 6c951ec98e72..17edfca2e619 100644 --- a/svx/inc/svx/fmdmod.hxx +++ b/svx/inc/svx/fmdmod.hxx @@ -37,6 +37,8 @@ class SVX_DLLPUBLIC SvxFmMSFactory : public SvxUnoDrawMSFactory public: SvxFmMSFactory() {}; + virtual ~SvxFmMSFactory() {} + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance(const ::rtl::OUString& ServiceSpecifier) throw( ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException ); virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments(const ::rtl::OUString& ServiceSpecifier, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments) throw( ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException ); virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); diff --git a/svx/inc/svx/gridctrl.hxx b/svx/inc/svx/gridctrl.hxx index c397078a72ae..5b0d796f871a 100644 --- a/svx/inc/svx/gridctrl.hxx +++ b/svx/inc/svx/gridctrl.hxx @@ -113,6 +113,9 @@ class FmGridListener public: virtual void selectionChanged() = 0; virtual void columnChanged() = 0; + +protected: + ~FmGridListener() {} }; #define GRID_COLUMN_NOT_FOUND SAL_MAX_UINT16 diff --git a/svx/inc/svx/ipolypolygoneditorcontroller.hxx b/svx/inc/svx/ipolypolygoneditorcontroller.hxx index 8df1c2ae05e6..66504447065b 100644 --- a/svx/inc/svx/ipolypolygoneditorcontroller.hxx +++ b/svx/inc/svx/ipolypolygoneditorcontroller.hxx @@ -71,6 +71,9 @@ public: virtual void CloseMarkedObjects(sal_Bool bToggle, sal_Bool bOpen ) = 0; virtual bool IsOpenCloseMarkedObjectsPossible() const = 0; virtual SdrObjClosedKind GetMarkedObjectsClosedState() const = 0; + +protected: + ~IPolyPolygonEditorController() {} }; #endif //_SDR_IPOLYPOLYGONEDITORCONTROLLER_HXX diff --git a/svx/inc/svx/sdrobjectuser.hxx b/svx/inc/svx/sdrobjectuser.hxx index 73499ab2aaa5..7a9f8872f088 100644 --- a/svx/inc/svx/sdrobjectuser.hxx +++ b/svx/inc/svx/sdrobjectuser.hxx @@ -49,6 +49,9 @@ namespace sdr // do all necessary action to forget the page. It is not necessary to call // RemovePageUser(), that is done form the destructor. virtual void ObjectInDestruction(const SdrObject& rObject) = 0; + + protected: + ~ObjectUser() {} }; // typedef for ObjectUserVector diff --git a/svx/inc/svx/sdrpageuser.hxx b/svx/inc/svx/sdrpageuser.hxx index 42d9b4b34993..be2e496b9bfa 100644 --- a/svx/inc/svx/sdrpageuser.hxx +++ b/svx/inc/svx/sdrpageuser.hxx @@ -49,6 +49,9 @@ namespace sdr // do all necessary action to forget the page. It is not necessary to call // RemovePageUser(), that is done form the destructor. virtual void PageInDestruction(const SdrPage& rPage) = 0; + + protected: + ~PageUser() {} }; // typedef for PageUserVector diff --git a/svx/inc/svx/svdetc.hxx b/svx/inc/svx/svdetc.hxx index 08ba83510642..3bd50f4485cb 100644 --- a/svx/inc/svx/svdetc.hxx +++ b/svx/inc/svx/svdetc.hxx @@ -148,6 +148,10 @@ public: // 0 if *pElem1=*pElem2 // +1 if *pElem1>*pElem2 virtual int Compare(const void* pElem1, const void* pElem2) const=0; + +protected: + ~ContainerSorter() {} + private: // damit keiner vergessen wird virtual void diff --git a/svx/inc/svx/svdobj.hxx b/svx/inc/svx/svdobj.hxx index 86c4feac7fe1..857556030cb3 100644 --- a/svx/inc/svx/svdobj.hxx +++ b/svx/inc/svx/svdobj.hxx @@ -352,6 +352,9 @@ class SdrObjectUser { public: virtual void ObjectInDestruction(const SdrObject& rObject) = 0; + +protected: + ~SdrObjectUser() {} }; // typedef for GetParentContacts() diff --git a/svx/inc/svx/unomaster.hxx b/svx/inc/svx/unomaster.hxx index a175e7f2cf15..ccf50a6ef649 100644 --- a/svx/inc/svx/unomaster.hxx +++ b/svx/inc/svx/unomaster.hxx @@ -61,6 +61,9 @@ public: virtual void modelChanged( SdrModel* pNewModel ) = 0; virtual void pageChanged( SdrPage* pNewPage ) = 0; virtual void objectChanged( SdrObject* pNewObj ) = 0; + +protected: + ~SvxShapeMaster() {} }; #endif diff --git a/svx/inc/svx/unomod.hxx b/svx/inc/svx/unomod.hxx index 0b4f1c3485bf..db96f6443e8d 100644 --- a/svx/inc/svx/unomod.hxx +++ b/svx/inc/svx/unomod.hxx @@ -61,6 +61,9 @@ public: false if not */ static sal_Bool createEvent( const SdrModel* pDoc, const SdrHint* pSdrHint, ::com::sun::star::document::EventObject& aEvent ); + +protected: + ~SvxUnoDrawMSFactory() {} }; #endif diff --git a/svx/source/inc/docrecovery.hxx b/svx/source/inc/docrecovery.hxx index 040eed75c359..ec4b9dff5940 100644 --- a/svx/source/inc/docrecovery.hxx +++ b/svx/source/inc/docrecovery.hxx @@ -209,6 +209,9 @@ class IRecoveryUpdateListener // TODO virtual void stepNext(TURLInfo* pItem) = 0; + + protected: + ~IRecoveryUpdateListener() {} }; //=============================================== diff --git a/svx/source/inc/fmslotinvalidator.hxx b/svx/source/inc/fmslotinvalidator.hxx index b92201939953..2b8a1baf8df6 100644 --- a/svx/source/inc/fmslotinvalidator.hxx +++ b/svx/source/inc/fmslotinvalidator.hxx @@ -45,6 +45,9 @@ namespace svx { public: virtual void Invalidate( SfxSlotId _nSlot ) = 0; + + protected: + ~ISlotInvalidator() {} }; //........................................................................ diff --git a/svx/source/inc/fmtextcontrolshell.hxx b/svx/source/inc/fmtextcontrolshell.hxx index 3a0198758cbc..37cd875a9268 100644 --- a/svx/source/inc/fmtextcontrolshell.hxx +++ b/svx/source/inc/fmtextcontrolshell.hxx @@ -71,6 +71,9 @@ namespace svx public: virtual void focusGained( const ::com::sun::star::awt::FocusEvent& _rEvent ) = 0; virtual void focusLost( const ::com::sun::star::awt::FocusEvent& _rEvent ) = 0; + + protected: + ~IFocusObserver() {} }; //==================================================================== @@ -80,6 +83,9 @@ namespace svx { public: virtual void contextMenuRequested( const ::com::sun::star::awt::MouseEvent& _rEvent ) = 0; + + protected: + ~IContextRequestObserver() {} }; //==================================================================== diff --git a/svx/source/inc/formcontrolling.hxx b/svx/source/inc/formcontrolling.hxx index ae27a1299ed0..1412df2e91a7 100644 --- a/svx/source/inc/formcontrolling.hxx +++ b/svx/source/inc/formcontrolling.hxx @@ -78,6 +78,9 @@ namespace svx Ids of the features to be invalidated. */ virtual void invalidateFeatures( const ::std::vector< sal_Int32 >& _rFeatures ) = 0; + + protected: + ~IControllerFeatureInvalidation() {} }; //==================================================================== diff --git a/svx/source/inc/formdispatchinterceptor.hxx b/svx/source/inc/formdispatchinterceptor.hxx index f6987e6ce252..ae70507463b8 100644 --- a/svx/source/inc/formdispatchinterceptor.hxx +++ b/svx/source/inc/formdispatchinterceptor.hxx @@ -47,12 +47,15 @@ namespace svxform class DispatchInterceptor { public: - DispatchInterceptor() { } - virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch> interceptedQueryDispatch( const ::com::sun::star::util::URL& aURL, const ::rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags) throw( ::com::sun::star::uno::RuntimeException ) = 0; virtual ::osl::Mutex* getInterceptorMutex() = 0; + + protected: + DispatchInterceptor() {} + + ~DispatchInterceptor() {} }; //==================================================================== diff --git a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx index fdafdc00039d..35e8c4c8b886 100644 --- a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx +++ b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx @@ -422,6 +422,9 @@ namespace sdr { namespace contact { /** determines whether a given layer is visible */ virtual bool isLayerVisible( SdrLayerID _nLayerID ) const = 0; + + protected: + ~IPageViewAccess() {} }; //==================================================================== @@ -435,6 +438,8 @@ namespace sdr { namespace contact { public: SdrPageViewAccess( const SdrPageView& _rPageView ) : m_rPageView( _rPageView ) { } + virtual ~SdrPageViewAccess() {} + virtual bool isDesignMode() const; virtual Reference< XControlContainer > getControlContainer( const OutputDevice& _rDevice ) const; @@ -478,6 +483,8 @@ namespace sdr { namespace contact { { } + virtual ~InvisibleControlViewAccess() {} + virtual bool isDesignMode() const; virtual Reference< XControlContainer > getControlContainer( const OutputDevice& _rDevice ) const; @@ -526,6 +533,8 @@ namespace sdr { namespace contact { { } + virtual ~DummyPageViewAccess() {} + virtual bool isDesignMode() const; virtual Reference< XControlContainer > getControlContainer( const OutputDevice& _rDevice ) const; diff --git a/svx/source/svdraw/svdetc.cxx b/svx/source/svdraw/svdetc.cxx index 0cc3c018fbef..c561e82f5895 100644 --- a/svx/source/svdraw/svdetc.cxx +++ b/svx/source/svdraw/svdetc.cxx @@ -275,6 +275,7 @@ void ContainerSorter::ImpSubSort(long nL, long nR) const class ImpUShortContainerSorter: public ContainerSorter { public: ImpUShortContainerSorter(Container& rNewCont): ContainerSorter(rNewCont) {} + virtual ~ImpUShortContainerSorter() {} virtual int Compare(const void* pElem1, const void* pElem2) const; }; diff --git a/svx/source/svdraw/svdhdl.cxx b/svx/source/svdraw/svdhdl.cxx index 818f8e7d6056..62c3aae7500b 100644 --- a/svx/source/svdraw/svdhdl.cxx +++ b/svx/source/svdraw/svdhdl.cxx @@ -1669,6 +1669,7 @@ void ImpTextframeHdl::CreateB2dIAObject() class ImpSdrHdlListSorter: public ContainerSorter { public: ImpSdrHdlListSorter(Container& rNewCont): ContainerSorter(rNewCont) {} + virtual ~ImpSdrHdlListSorter() {} virtual int Compare(const void* pElem1, const void* pElem2) const; }; diff --git a/svx/source/svdraw/svdmark.cxx b/svx/source/svdraw/svdmark.cxx index c9ef7d63286f..1e91b96c764e 100644 --- a/svx/source/svdraw/svdmark.cxx +++ b/svx/source/svdraw/svdmark.cxx @@ -56,6 +56,8 @@ public: : ContainerSorter(rNewCont) {} + virtual ~ImpSdrUShortContSorter() {} + virtual int Compare(const void* pElem1, const void* pElem2) const; }; @@ -320,6 +322,8 @@ public: : ContainerSorter(rNewCont) {} + virtual ~ImpSdrMarkListSorter() {} + virtual int Compare(const void* pElem1, const void* pElem2) const; }; diff --git a/svx/source/table/celltypes.hxx b/svx/source/table/celltypes.hxx index dd4aa43ac7b1..8bff2cb21b21 100644 --- a/svx/source/table/celltypes.hxx +++ b/svx/source/table/celltypes.hxx @@ -54,6 +54,9 @@ class TableDesignUser { public: virtual bool isInUse() = 0; + +protected: + ~TableDesignUser() {} }; template< typename T > diff --git a/svx/source/table/tablemodel.hxx b/svx/source/table/tablemodel.hxx index 5ac3696e87e8..c8225f53d3f8 100644 --- a/svx/source/table/tablemodel.hxx +++ b/svx/source/table/tablemodel.hxx @@ -58,6 +58,9 @@ public: virtual sal_Int32 getRight() = 0; virtual sal_Int32 getBottom() = 0; virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTable > getTable() = 0; + +protected: + ~ICellRange() {} }; // ----------------------------------------------------------------------------- diff --git a/sw/inc/TextCursorHelper.hxx b/sw/inc/TextCursorHelper.hxx index 731cccf33c58..4269a8de4f98 100644 --- a/sw/inc/TextCursorHelper.hxx +++ b/sw/inc/TextCursorHelper.hxx @@ -48,6 +48,9 @@ public: virtual SwPaM* GetPaM() = 0; virtual const SwDoc* GetDoc() const = 0; virtual SwDoc* GetDoc() = 0; + +protected: + ~OTextCursorHelper() {} }; #endif // _SW_TEXTCURSORHELPER_HXX diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx index 22d780f5e128..ab6e8a593372 100644 --- a/sw/inc/swabstdlg.hxx +++ b/sw/inc/swabstdlg.hxx @@ -503,6 +503,9 @@ public: // for tabpage virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) = 0; virtual GetTabPageRanges GetTabPageRangesFunc( sal_uInt16 nId ) = 0; + +protected: + ~SwAbstractDialogFactory() {} }; #endif diff --git a/sw/inc/swcrsr.hxx b/sw/inc/swcrsr.hxx index 9bb433a272c3..d42de518d0ed 100644 --- a/sw/inc/swcrsr.hxx +++ b/sw/inc/swcrsr.hxx @@ -52,6 +52,9 @@ struct SwFindParas { virtual int Find( SwPaM*, SwMoveFn, const SwPaM*, sal_Bool ) = 0; virtual int IsReplaceMode() const = 0; + +protected: + ~SwFindParas() {} }; typedef sal_uInt16 SwCursorSelOverFlags; diff --git a/sw/inc/unocoll.hxx b/sw/inc/unocoll.hxx index 07596e018c5c..2554ca6bd89f 100644 --- a/sw/inc/unocoll.hxx +++ b/sw/inc/unocoll.hxx @@ -73,6 +73,8 @@ class SwUnoCollection pDoc(p), bObjectValid(sal_True){} + virtual ~SwUnoCollection() {} + virtual void Invalidate(); sal_Bool IsValid() const {return bObjectValid;} diff --git a/sw/source/core/access/acctable.cxx b/sw/source/core/access/acctable.cxx index 96c0b7b68f62..89fc739a377d 100644 --- a/sw/source/core/access/acctable.cxx +++ b/sw/source/core/access/acctable.cxx @@ -74,6 +74,9 @@ class SwAccTableSelHander_Impl { public: virtual void Unselect( sal_Int32 nRowOrCol, sal_Int32 nExt ) = 0; + +protected: + ~SwAccTableSelHander_Impl() {} }; @@ -507,6 +510,8 @@ public: inline SwAccSingleTableSelHander_Impl(); + virtual ~SwAccSingleTableSelHander_Impl() {} + inline sal_Bool IsSelected() const { return bSelected; } virtual void Unselect( sal_Int32, sal_Int32 ); diff --git a/sw/source/core/crsr/findcoll.cxx b/sw/source/core/crsr/findcoll.cxx index 6900ad279213..2dfb63b0f2be 100644 --- a/sw/source/core/crsr/findcoll.cxx +++ b/sw/source/core/crsr/findcoll.cxx @@ -48,6 +48,7 @@ struct SwFindParaFmtColl : public SwFindParas const SwTxtFmtColl* pRpColl, SwCursor& rCrsr ) : pFmtColl( &rFmtColl ), pReplColl( pRpColl ), rCursor( rCrsr ) {} + virtual ~SwFindParaFmtColl() {} virtual int Find( SwPaM* , SwMoveFn , const SwPaM*, sal_Bool bInReadOnly ); virtual int IsReplaceMode() const; }; diff --git a/sw/source/core/layout/dbg_lay.cxx b/sw/source/core/layout/dbg_lay.cxx index 69cdfeb5b1ff..660133328e65 100644 --- a/sw/source/core/layout/dbg_lay.cxx +++ b/sw/source/core/layout/dbg_lay.cxx @@ -236,6 +236,7 @@ protected: public: SwImplEnterLeave( const SwFrm* pF, sal_uLong nFunct, sal_uLong nAct, void* pPar ) : pFrm( pF ), nFunction( nFunct ), nAction( nAct ), pParam( pPar ) {} + virtual ~SwImplEnterLeave() {} virtual void Enter(); // message when entering virtual void Leave(); // message when leaving }; @@ -246,6 +247,7 @@ class SwSizeEnterLeave : public SwImplEnterLeave public: SwSizeEnterLeave( const SwFrm* pF, sal_uLong nFunct, sal_uLong nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), nFrmHeight( pF->Frm().Height() ) {} + virtual ~SwSizeEnterLeave() {} virtual void Leave(); // resize message }; @@ -255,6 +257,7 @@ class SwUpperEnterLeave : public SwImplEnterLeave public: SwUpperEnterLeave( const SwFrm* pF, sal_uLong nFunct, sal_uLong nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), nFrmId( 0 ) {} + virtual ~SwUpperEnterLeave() {} virtual void Enter(); // message virtual void Leave(); // message of FrmId from upper }; @@ -265,6 +268,7 @@ class SwFrmChangesLeave : public SwImplEnterLeave public: SwFrmChangesLeave( const SwFrm* pF, sal_uLong nFunct, sal_uLong nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), aFrm( pF->Frm() ) {} + virtual ~SwFrmChangesLeave() {} virtual void Enter(); // no message virtual void Leave(); // message when resizing the Frm area }; diff --git a/sw/source/core/txtnode/fntcap.cxx b/sw/source/core/txtnode/fntcap.cxx index dce161822d58..aaac7060d6d8 100644 --- a/sw/source/core/txtnode/fntcap.cxx +++ b/sw/source/core/txtnode/fntcap.cxx @@ -118,8 +118,9 @@ protected: SwDrawTextInfo &rInf; SwCapitalInfo* pCapInf; // referes to additional information // required by the ::Do function -public: SwDoCapitals ( SwDrawTextInfo &rInfo ) : rInf( rInfo ), pCapInf( 0 ) { } + ~SwDoCapitals() {} +public: virtual void Init( SwFntObj *pUpperFont, SwFntObj *pLowerFont ) = 0; virtual void Do() = 0; inline OutputDevice& GetOut() { return rInf.GetOut(); } @@ -138,6 +139,7 @@ protected: Size aTxtSize; public: SwDoGetCapitalSize( SwDrawTextInfo &rInfo ) : SwDoCapitals ( rInfo ) { } + virtual ~SwDoGetCapitalSize() {} virtual void Init( SwFntObj *pUpperFont, SwFntObj *pLowerFont ); virtual void Do(); const Size &GetSize() const { return aTxtSize; } @@ -198,6 +200,7 @@ public: : SwDoCapitals ( rInfo ), pExtraPos( pExtra ), nTxtWidth( nWidth ), nBreak( STRING_LEN ) { } + virtual ~SwDoGetCapitalBreak() {} virtual void Init( SwFntObj *pUpperFont, SwFntObj *pLowerFont ); virtual void Do(); xub_StrLen GetBreak() const { return nBreak; } @@ -288,6 +291,7 @@ public: SwDoDrawCapital( SwDrawTextInfo &rInfo ) : SwDoCapitals( rInfo ), pUpperFnt(0), pLowerFnt(0) { } + virtual ~SwDoDrawCapital() {} virtual void Init( SwFntObj *pUpperFont, SwFntObj *pLowerFont ); virtual void Do(); void DrawSpace( Point &rPos ); @@ -386,6 +390,7 @@ public: SwDoCapitalCrsrOfst( SwDrawTextInfo &rInfo, const sal_uInt16 nOfs ) : SwDoCapitals( rInfo ), pUpperFnt(0), pLowerFnt(0), nCrsr( 0 ), nOfst( nOfs ) { } + virtual ~SwDoCapitalCrsrOfst() {} virtual void Init( SwFntObj *pUpperFont, SwFntObj *pLowerFont ); virtual void Do(); @@ -471,6 +476,8 @@ public: nCapWidth( nCapitalWidth ), nOrgWidth( rInfo.GetWidth() ) { } + + virtual ~SwDoDrawStretchCapital() {} }; /************************************************************************* diff --git a/sw/source/ui/dbui/mmgreetingspage.hxx b/sw/source/ui/dbui/mmgreetingspage.hxx index 37cbc6d2db0e..a84c89564ac4 100644 --- a/sw/source/ui/dbui/mmgreetingspage.hxx +++ b/sw/source/ui/dbui/mmgreetingspage.hxx @@ -41,8 +41,7 @@ class SwMailMergeWizard; class SwGreetingsHandler { - friend class SwMailBodyDialog; - friend class SwMailMergeGreetingsPage; +protected: CheckBox* m_pGreetingLineCB; CheckBox* m_pPersonalizedCB; @@ -68,6 +67,8 @@ class SwGreetingsHandler SwMailMergeWizard* m_pWizard; + ~SwGreetingsHandler() {} + DECL_LINK(IndividualHdl_Impl, void *); DECL_LINK(GreetingHdl_Impl, PushButton*); diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx index 94849005d097..23384128592e 100644 --- a/sw/source/ui/dialog/swdlgfact.hxx +++ b/sw/source/ui/dialog/swdlgfact.hxx @@ -433,6 +433,8 @@ class SwAbstractDialogFactory_Impl : public SwAbstractDialogFactory { public: + virtual ~SwAbstractDialogFactory_Impl() {} + virtual SfxAbstractDialog* CreateSfxDialog( Window* pParent, //add for SvxMeasureDialog & SvxConnectionDialog const SfxItemSet& rAttr, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame, diff --git a/test/inc/test/container/xindexaccess.hxx b/test/inc/test/container/xindexaccess.hxx index bd09a8f870d6..7c4ce83fe14c 100644 --- a/test/inc/test/container/xindexaccess.hxx +++ b/test/inc/test/container/xindexaccess.hxx @@ -43,6 +43,8 @@ public: // will throw an exception and should fail if not void testGetByIndexException(); +protected: + ~XIndexAccess() {} private: sal_Int32 mnItems; diff --git a/test/inc/test/sheet/cellproperties.hxx b/test/inc/test/sheet/cellproperties.hxx index f2a3b7150060..d9fe22a6a9c6 100644 --- a/test/inc/test/sheet/cellproperties.hxx +++ b/test/inc/test/sheet/cellproperties.hxx @@ -41,6 +41,9 @@ public: void testVertJustify(); void testRotateReference(); + +protected: + ~CellProperties() {} }; } diff --git a/test/inc/test/sheet/datapilotfield.hxx b/test/inc/test/sheet/datapilotfield.hxx index c87dfc07537b..b05d50b67bd0 100644 --- a/test/inc/test/sheet/datapilotfield.hxx +++ b/test/inc/test/sheet/datapilotfield.hxx @@ -43,6 +43,9 @@ public: void testAutoShowInfo(); void testReference(); void testIsGroupField(); + +protected: + ~DataPilotField() {} }; } diff --git a/test/inc/test/sheet/xcellrangedata.hxx b/test/inc/test/sheet/xcellrangedata.hxx index 013b01f6cfd0..824399e4925c 100644 --- a/test/inc/test/sheet/xcellrangedata.hxx +++ b/test/inc/test/sheet/xcellrangedata.hxx @@ -41,6 +41,9 @@ public: void testGetDataArray(); void testSetDataArray(); + +protected: + ~XCellRangeData() {} }; } diff --git a/test/inc/test/sheet/xcellrangereferrer.hxx b/test/inc/test/sheet/xcellrangereferrer.hxx index b799993581a3..8a9da34d84ee 100644 --- a/test/inc/test/sheet/xcellrangereferrer.hxx +++ b/test/inc/test/sheet/xcellrangereferrer.hxx @@ -43,6 +43,9 @@ public: void testGetReferredCells(); +protected: + ~XCellRangeReferrer() {} + private: table::CellRangeAddress maCellRange; }; diff --git a/test/inc/test/sheet/xcellrangesquery.hxx b/test/inc/test/sheet/xcellrangesquery.hxx index c315163f5b90..d0ddd7f1664d 100644 --- a/test/inc/test/sheet/xcellrangesquery.hxx +++ b/test/inc/test/sheet/xcellrangesquery.hxx @@ -50,6 +50,8 @@ public: void testQueryRowDifference(); void testQueryVisibleCells(); +protected: + ~XCellRangesQuery() {} }; } diff --git a/test/inc/test/sheet/xdatabaserange.hxx b/test/inc/test/sheet/xdatabaserange.hxx index 3e3805687146..0c3263821619 100644 --- a/test/inc/test/sheet/xdatabaserange.hxx +++ b/test/inc/test/sheet/xdatabaserange.hxx @@ -46,6 +46,9 @@ public: void testGetImportDescriptor(); void testGetFilterDescriptor(); void testRefresh(); + +protected: + ~XDatabaseRange() {} }; } diff --git a/test/inc/test/sheet/xdatapilotdescriptor.hxx b/test/inc/test/sheet/xdatapilotdescriptor.hxx index eb5b8c10770d..16b4e735683e 100644 --- a/test/inc/test/sheet/xdatapilotdescriptor.hxx +++ b/test/inc/test/sheet/xdatapilotdescriptor.hxx @@ -52,6 +52,10 @@ public: void testGetHiddenFields(); virtual uno::Reference< uno::XInterface > init() = 0; + +protected: + ~XDataPilotDescriptor() {} + private: void testGetDataPilotFields_Impl( uno::Reference< sheet::XDataPilotDescriptor > xDescr ); diff --git a/test/inc/test/sheet/xdatapilotfieldgrouping.hxx b/test/inc/test/sheet/xdatapilotfieldgrouping.hxx index b1e086461693..828d02d2fd73 100644 --- a/test/inc/test/sheet/xdatapilotfieldgrouping.hxx +++ b/test/inc/test/sheet/xdatapilotfieldgrouping.hxx @@ -41,6 +41,9 @@ public: void testCreateDateGroup(); virtual uno::Reference< uno::XInterface > init() = 0; + +protected: + ~XDataPilotFieldGrouping() {} }; } diff --git a/test/inc/test/sheet/xnamedrange.hxx b/test/inc/test/sheet/xnamedrange.hxx index 1859237a5c96..b21e0c89cf4b 100644 --- a/test/inc/test/sheet/xnamedrange.hxx +++ b/test/inc/test/sheet/xnamedrange.hxx @@ -47,6 +47,8 @@ public: void testGetReferencePosition(); void testSetReferencePosition(); protected: + ~XNamedRange() {} + virtual uno::Reference< sheet::XNamedRange> getNamedRange(const rtl::OUString&) = 0; }; diff --git a/test/inc/test/sheet/xspreadsheetdocument.hxx b/test/inc/test/sheet/xspreadsheetdocument.hxx index e4e258a5f51f..026d166ba655 100644 --- a/test/inc/test/sheet/xspreadsheetdocument.hxx +++ b/test/inc/test/sheet/xspreadsheetdocument.hxx @@ -41,6 +41,10 @@ public: virtual uno::Reference< uno::XInterface > init() = 0; void testGetSheets(); + +protected: + ~XSpreadsheetDocument() {} + private: sal_Int32 mnSheets; }; diff --git a/test/inc/test/util/xreplaceable.hxx b/test/inc/test/util/xreplaceable.hxx index 4f66ea1e9a50..53dc1507678f 100644 --- a/test/inc/test/util/xreplaceable.hxx +++ b/test/inc/test/util/xreplaceable.hxx @@ -44,6 +44,9 @@ public: void testCreateReplaceDescriptor(); void testReplaceAll(); +protected: + ~XReplaceable() {} + private: rtl::OUString maSearchString; rtl::OUString maReplaceString; diff --git a/toolkit/inc/toolkit/helper/accessiblefactory.hxx b/toolkit/inc/toolkit/helper/accessiblefactory.hxx index 1362a7d4d365..c047a55c6597 100644 --- a/toolkit/inc/toolkit/helper/accessiblefactory.hxx +++ b/toolkit/inc/toolkit/helper/accessiblefactory.hxx @@ -129,6 +129,9 @@ namespace toolkit */ virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > createAccessible( Menu* _pMenu, sal_Bool _bIsMenuBar ) = 0; + + protected: + ~IAccessibleFactory() {} }; //........................................................................ diff --git a/tools/source/generic/poly.cxx b/tools/source/generic/poly.cxx index 4e71b3543cd1..bbc50d642fdf 100644 --- a/tools/source/generic/poly.cxx +++ b/tools/source/generic/poly.cxx @@ -1198,6 +1198,9 @@ class ImplPointFilter public: virtual void LastPoint() = 0; virtual void Input( const Point& rPoint ) = 0; + +protected: + ~ImplPointFilter() {} }; class ImplPolygonPointFilter : public ImplPointFilter @@ -1212,6 +1215,8 @@ public: mpPoly = new ImplPolygon( nDestSize ); } + virtual ~ImplPolygonPointFilter() {} + virtual void LastPoint(); virtual void Input( const Point& rPoint ); }; @@ -1255,6 +1260,8 @@ public: { } + virtual ~ImplEdgePointFilter() {} + Point EdgeSection( const Point& rPoint, int nEdge ) const; int VisibleSide( const Point& rPoint ) const; int IsPolygon() const diff --git a/ucb/source/ucp/file/filnot.hxx b/ucb/source/ucp/file/filnot.hxx index 789455af7602..3c146acde5ad 100644 --- a/ucb/source/ucp/file/filnot.hxx +++ b/ucb/source/ucp/file/filnot.hxx @@ -130,6 +130,9 @@ namespace fileaccess { virtual PropertySetInfoChangeNotifier* cPSL( void ) = 0; virtual PropertyChangeNotifier* cPCL( void ) = 0; virtual rtl::OUString getKey( void ) = 0; + + protected: + ~Notifier() {} }; diff --git a/ucb/source/ucp/ftp/ftpcfunc.hxx b/ucb/source/ucp/ftp/ftpcfunc.hxx index 3696e23d7ad6..607e27720dc1 100644 --- a/ucb/source/ucp/ftp/ftpcfunc.hxx +++ b/ucb/source/ucp/ftp/ftpcfunc.hxx @@ -42,8 +42,10 @@ namespace ftp { class FTPStreamContainer { public: - virtual size_t write(void *buffer,size_t size,size_t nmemb) = 0; + + protected: + ~FTPStreamContainer() {} }; } diff --git a/ucb/source/ucp/ftp/ftphandleprovider.hxx b/ucb/source/ucp/ftp/ftphandleprovider.hxx index bebded5e77a5..e55d8bb1de18 100644 --- a/ucb/source/ucp/ftp/ftphandleprovider.hxx +++ b/ucb/source/ucp/ftp/ftphandleprovider.hxx @@ -24,6 +24,9 @@ namespace ftp { const rtl::OUString& username, const rtl::OUString& password, const rtl::OUString& account) = 0; + + protected: + ~FTPHandleProvider() {} }; diff --git a/ucb/source/ucp/ftp/ftpstrcont.hxx b/ucb/source/ucp/ftp/ftpstrcont.hxx index 6799b0dd821a..e7f87b760906 100644 --- a/ucb/source/ucp/ftp/ftpstrcont.hxx +++ b/ucb/source/ucp/ftp/ftpstrcont.hxx @@ -52,7 +52,8 @@ namespace ftp { FTPOutputStreamContainer(const com::sun::star::uno::Reference< com::sun::star::io::XOutputStream>& out); - virtual ~FTPOutputStreamContainer() {} + + virtual ~FTPOutputStreamContainer() {} virtual size_t write(void *buffer,size_t size,size_t nmemb); @@ -71,6 +72,8 @@ namespace ftp { FTPInputStreamContainer(FTPInputStream* out); + virtual ~FTPInputStreamContainer() {} + virtual size_t write(void *buffer,size_t size,size_t nmemb); com::sun::star::uno::Reference< diff --git a/ucb/source/ucp/ftp/ftpurl.hxx b/ucb/source/ucp/ftp/ftpurl.hxx index 62802654ab18..e411045bf1f9 100644 --- a/ucb/source/ucp/ftp/ftpurl.hxx +++ b/ucb/source/ucp/ftp/ftpurl.hxx @@ -80,11 +80,12 @@ namespace ftp { }; class CurlInput { - public: - // returns the number of bytes actually read virtual sal_Int32 read(sal_Int8 *dest,sal_Int32 nBytesRequested) = 0; + + protected: + ~CurlInput() {} }; diff --git a/ucb/source/ucp/tdoc/tdoc_docmgr.hxx b/ucb/source/ucp/tdoc/tdoc_docmgr.hxx index e1e478bfcc3c..9b40fe323d10 100644 --- a/ucb/source/ucp/tdoc/tdoc_docmgr.hxx +++ b/ucb/source/ucp/tdoc/tdoc_docmgr.hxx @@ -49,6 +49,9 @@ namespace tdoc_ucp { public: virtual void notifyDocumentOpened( const rtl::OUString & rDocId ) = 0; virtual void notifyDocumentClosed( const rtl::OUString & rDocId ) = 0; + + protected: + ~OfficeDocumentsEventListener() {} }; //======================================================================= diff --git a/unotest/inc/unotest/filters-test.hxx b/unotest/inc/unotest/filters-test.hxx index 974c1fa34ecc..ab44d8170da2 100644 --- a/unotest/inc/unotest/filters-test.hxx +++ b/unotest/inc/unotest/filters-test.hxx @@ -63,6 +63,8 @@ public: const rtl::OUString &rUserData) = 0; protected: + ~FiltersTest() {} + void recursiveScan( const rtl::OUString &rFilter, const rtl::OUString &rURL, diff --git a/unotools/inc/unotools/desktopterminationobserver.hxx b/unotools/inc/unotools/desktopterminationobserver.hxx index 701097b08f7a..f56582cb46ef 100644 --- a/unotools/inc/unotools/desktopterminationobserver.hxx +++ b/unotools/inc/unotools/desktopterminationobserver.hxx @@ -48,6 +48,9 @@ namespace utl public: virtual bool queryTermination() const = 0; virtual void notifyTermination() = 0; + + protected: + ~ITerminationListener() {} }; //==================================================================== diff --git a/vbahelper/inc/vbahelper/vbapropvalue.hxx b/vbahelper/inc/vbahelper/vbapropvalue.hxx index 70e4c3aff2a9..87414d1a7055 100644 --- a/vbahelper/inc/vbahelper/vbapropvalue.hxx +++ b/vbahelper/inc/vbahelper/vbapropvalue.hxx @@ -39,6 +39,9 @@ class VBAHELPER_DLLPUBLIC PropListener public: virtual void setValueEvent( const css::uno::Any& value ) = 0; virtual css::uno::Any getValueEvent() = 0; + +protected: + ~PropListener() {} }; diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx index 45c9dadcd61a..fcaed35df461 100644 --- a/vcl/headless/svpframe.cxx +++ b/vcl/headless/svpframe.cxx @@ -45,6 +45,7 @@ namespace { struct DamageTracker : public basebmp::IBitmapDeviceDamageTracker { DamageTracker( SvpSalFrame& rFrame ) : m_rFrame( rFrame ) {} + virtual ~DamageTracker() {} virtual void damaged( const basegfx::B2IBox& rDamageRect ) const { m_rFrame.damaged( rDamageRect ); diff --git a/vcl/inc/textlayout.hxx b/vcl/inc/textlayout.hxx index 5902573f8746..12278b5b93a2 100644 --- a/vcl/inc/textlayout.hxx +++ b/vcl/inc/textlayout.hxx @@ -55,6 +55,9 @@ namespace vcl virtual bool GetCaretPositions( const XubString& _rText, sal_Int32* _pCaretXArray, xub_StrLen _nStartIndex, xub_StrLen _nLength ) const = 0; virtual xub_StrLen GetTextBreak( const XubString& _rText, long _nMaxTextWidth, xub_StrLen _nStartIndex, xub_StrLen _nLength ) const = 0; virtual bool DecomposeTextRectAction() const = 0; + + protected: + ~ITextLayout() {} }; //==================================================================== diff --git a/vcl/inc/vcl/ImageListProvider.hxx b/vcl/inc/vcl/ImageListProvider.hxx index 7fc678b485fd..8f769a4c5192 100644 --- a/vcl/inc/vcl/ImageListProvider.hxx +++ b/vcl/inc/vcl/ImageListProvider.hxx @@ -49,6 +49,9 @@ namespace vcl { public: virtual ImageList getImageList(ImageListType) SAL_THROW (( com::sun::star::lang::IllegalArgumentException )) = 0; + + protected: + ~IImageListProvider() {} }; } /* vcl */ diff --git a/vcl/inc/vcl/apptypes.hxx b/vcl/inc/vcl/apptypes.hxx index e9f3dd711edf..12969bef4d02 100644 --- a/vcl/inc/vcl/apptypes.hxx +++ b/vcl/inc/vcl/apptypes.hxx @@ -51,7 +51,7 @@ class VCL_DLLPUBLIC ApplicationProperty { public: - + virtual ~ApplicationProperty() {} TYPEINFO(); }; diff --git a/vcl/inc/vcl/fontmanager.hxx b/vcl/inc/vcl/fontmanager.hxx index 78481e477818..0760e3069432 100644 --- a/vcl/inc/vcl/fontmanager.hxx +++ b/vcl/inc/vcl/fontmanager.hxx @@ -544,6 +544,9 @@ public: virtual bool queryOverwriteFile( const rtl::OUString& rFile ) = 0; virtual void importFontFailed( const rtl::OUString& rFile, FailCondition ) = 0; virtual bool isCanceled() = 0; + + protected: + ~ImportFontCallback() {} }; /* system dependendent font matching diff --git a/vcl/inc/vcl/mnemonicengine.hxx b/vcl/inc/vcl/mnemonicengine.hxx index 79f6856cb704..b827ec0a8dd9 100644 --- a/vcl/inc/vcl/mnemonicengine.hxx +++ b/vcl/inc/vcl/mnemonicengine.hxx @@ -119,6 +119,9 @@ namespace vcl to <member>FirstSearchEntry</member> or <member>NextSearchEntry</member>. */ virtual void ExecuteSearchEntry( const void* _pEntry ) const = 0; + + protected: + ~IMnemonicEntryList() {} }; //==================================================================== diff --git a/vcl/inc/vcl/quickselectionengine.hxx b/vcl/inc/vcl/quickselectionengine.hxx index d3dc157d2c6c..c5c9669e6a38 100644 --- a/vcl/inc/vcl/quickselectionengine.hxx +++ b/vcl/inc/vcl/quickselectionengine.hxx @@ -65,6 +65,9 @@ namespace vcl /** selects a given entry */ virtual void SelectEntry( StringEntryIdentifier _entry ) = 0; + + protected: + ~ISearchableStringList() {} }; //==================================================================== diff --git a/vcl/inc/vcl/svapp.hxx b/vcl/inc/vcl/svapp.hxx index 2c26c55e33d7..8d2818ed10db 100644 --- a/vcl/inc/vcl/svapp.hxx +++ b/vcl/inc/vcl/svapp.hxx @@ -135,6 +135,9 @@ class VCL_DLLPUBLIC PropertyHandler { public: virtual void Property( ApplicationProperty& ) = 0; + +protected: + ~PropertyHandler() {} }; // --------------- diff --git a/vcl/inc/vcl/unowrap.hxx b/vcl/inc/vcl/unowrap.hxx index 3691014d7477..e51794501b40 100644 --- a/vcl/inc/vcl/unowrap.hxx +++ b/vcl/inc/vcl/unowrap.hxx @@ -87,6 +87,9 @@ public: // Accessibility virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible( Menu* pMenu, sal_Bool bIsMenuBar ) = 0; + +protected: + ~UnoWrapperBase() {} }; #endif // _VCL_UNOWRAP_HXX diff --git a/vcl/inc/vcl/vclevent.hxx b/vcl/inc/vcl/vclevent.hxx index 51c5591f09f7..002391b45458 100644 --- a/vcl/inc/vcl/vclevent.hxx +++ b/vcl/inc/vcl/vclevent.hxx @@ -201,6 +201,7 @@ private: public: VclSimpleEvent( sal_uLong n ) { nId = n; } + virtual ~VclSimpleEvent() {} TYPEINFO(); sal_uLong GetId() const { return nId; } @@ -214,6 +215,7 @@ private: public: VclWindowEvent( Window* pWin, sal_uLong n, void* pDat = NULL ) : VclSimpleEvent(n) { pWindow = pWin; pData = pDat; } + virtual ~VclWindowEvent() {} TYPEINFO(); Window* GetWindow() const { return pWindow; } @@ -242,6 +244,7 @@ private: public: VclMenuEvent( Menu* pM, sal_uLong n, sal_uInt16 nPos ) : VclSimpleEvent(n) { pMenu = pM; mnPos = nPos; } + virtual ~VclMenuEvent() {} TYPEINFO(); Menu* GetMenu() const { return pMenu; } diff --git a/vcl/unx/generic/dtrans/X11_selection.hxx b/vcl/unx/generic/dtrans/X11_selection.hxx index ad02ca36c2c1..fef676254eba 100644 --- a/vcl/unx/generic/dtrans/X11_selection.hxx +++ b/vcl/unx/generic/dtrans/X11_selection.hxx @@ -71,6 +71,9 @@ namespace x11 { virtual com::sun::star::uno::Reference< XInterface > getReference() = 0; // returns a reference that will keep the SelectionAdaptor alive until the // refernce is released + + protected: + ~SelectionAdaptor() {} }; class DropTarget : diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx index 3c3a757139a4..4137a8d56dd7 100644 --- a/vcl/unx/gtk/window/gtkframe.cxx +++ b/vcl/unx/gtk/window/gtkframe.cxx @@ -351,6 +351,9 @@ struct DamageTracker : public basebmp::IBitmapDeviceDamageTracker { DamageTracker(GtkSalFrame& rFrame) : m_rFrame(rFrame) {} + + virtual ~DamageTracker() {} + virtual void damaged(const basegfx::B2IBox& rDamageRect) const { m_rFrame.damaged(rDamageRect); diff --git a/writerfilter/inc/resourcemodel/TableManager.hxx b/writerfilter/inc/resourcemodel/TableManager.hxx index 04084d73a0a9..5e2af023b606 100644 --- a/writerfilter/inc/resourcemodel/TableManager.hxx +++ b/writerfilter/inc/resourcemodel/TableManager.hxx @@ -101,6 +101,9 @@ public: @param rT end handle of cell */ virtual void endCell(const T & rT) = 0; + +protected: + ~TableDataHandler() {} }; template <typename T, typename PropertiesPointer> diff --git a/writerfilter/inc/resourcemodel/TagLogger.hxx b/writerfilter/inc/resourcemodel/TagLogger.hxx index f5ca4ebecf32..42681acbb380 100644 --- a/writerfilter/inc/resourcemodel/TagLogger.hxx +++ b/writerfilter/inc/resourcemodel/TagLogger.hxx @@ -45,6 +45,9 @@ namespace writerfilter public: typedef boost::shared_ptr<IdToString> Pointer_t; virtual std::string toString(const Id & id) const = 0; + + protected: + ~IdToString() {} }; class WRITERFILTER_RESOURCEMODEL_DLLPUBLIC TagLogger diff --git a/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx b/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx index 5869f04e374a..e49b3f51fe82 100644 --- a/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx +++ b/writerfilter/inc/resourcemodel/WW8ResourceModel.hxx @@ -101,8 +101,6 @@ public: */ typedef boost::shared_ptr< Reference<T> > Pointer_t; - virtual ~Reference() {} - /** Resolves the reference. @@ -117,6 +115,9 @@ public: Returns the type of the reference aka the name of the access class. */ virtual string getType() const = 0; + +protected: + ~Reference() {} }; class Value; @@ -128,9 +129,6 @@ class Sprm; class WRITERFILTER_RESOURCEMODEL_DLLPUBLIC Properties { public: - - virtual ~Properties() {} - /** Receives an attribute. @@ -146,6 +144,8 @@ public: */ virtual void sprm(Sprm & sprm) = 0; +protected: + ~Properties() {} }; /** @@ -156,7 +156,6 @@ class WRITERFILTER_RESOURCEMODEL_DLLPUBLIC Table public: typedef boost::shared_ptr<Table> Pointer_t; - virtual ~Table() {} /** Receives an entry of the table. @@ -164,6 +163,9 @@ public: @param ref reference to properties of the entry */ virtual void entry(int pos, writerfilter::Reference<Properties>::Pointer_t ref) = 0; + +protected: + ~Table() {} }; /** @@ -172,8 +174,6 @@ public: class WRITERFILTER_RESOURCEMODEL_DLLPUBLIC BinaryObj { public: - - virtual ~BinaryObj() {} /** Receives binary data of the object. @@ -183,6 +183,9 @@ public: */ virtual void data(const sal_uInt8* buf, size_t len, writerfilter::Reference<Properties>::Pointer_t ref) = 0; + +protected: + ~BinaryObj() {} }; /** @@ -197,8 +200,6 @@ public: */ typedef boost::shared_ptr<Stream> Pointer_t; - virtual ~Stream() {} - /** Receives start mark for group with the same section properties. */ @@ -286,6 +287,9 @@ public: @param info the information */ virtual void info(const string & info) = 0; + +protected: + ~Stream() {} }; /** @@ -355,8 +359,6 @@ public: SAL_WNODEPRECATED_DECLARATIONS_POP enum Kind { UNKNOWN, CHARACTER, PARAGRAPH, TABLE }; - virtual ~Sprm() {} - /** Returns id of the SPRM. */ @@ -397,6 +399,9 @@ public: Returns string repesentation of sprm. */ virtual string toString() const = 0; + +protected: + ~Sprm() {} }; /** diff --git a/writerfilter/source/doctok/WW8DocumentImpl.hxx b/writerfilter/source/doctok/WW8DocumentImpl.hxx index 383d80195475..0a50fc6d9edd 100644 --- a/writerfilter/source/doctok/WW8DocumentImpl.hxx +++ b/writerfilter/source/doctok/WW8DocumentImpl.hxx @@ -59,6 +59,8 @@ public: Bookmark(writerfilter::Reference<Properties>::Pointer_t pBKF, rtl::OUString & rName); + virtual ~Bookmark() {} + /** Resolve bookmark to handler. diff --git a/writerfilter/source/doctok/WW8ResourceModelImpl.hxx b/writerfilter/source/doctok/WW8ResourceModelImpl.hxx index e0a8e24cd8fe..40f0da8c6a85 100644 --- a/writerfilter/source/doctok/WW8ResourceModelImpl.hxx +++ b/writerfilter/source/doctok/WW8ResourceModelImpl.hxx @@ -54,7 +54,7 @@ public: { } - ~WW8PropertiesReference() + virtual ~WW8PropertiesReference() { } @@ -70,7 +70,7 @@ public: { } - ~WW8TableReference() + virtual ~WW8TableReference() { } diff --git a/writerfilter/source/rtftok/rtfsprm.hxx b/writerfilter/source/rtftok/rtfsprm.hxx index dbf2e2f375db..7c73d0e87a37 100644 --- a/writerfilter/source/rtftok/rtfsprm.hxx +++ b/writerfilter/source/rtftok/rtfsprm.hxx @@ -54,6 +54,7 @@ namespace writerfilter { { public: RTFSprm(Id nKeyword, RTFValue::Pointer_t& pValue); + virtual ~RTFSprm() {} virtual sal_uInt32 getId() const; virtual Value::Pointer_t getValue(); virtual writerfilter::Reference<BinaryObj>::Pointer_t getBinary(); diff --git a/xmlhelp/source/cxxhelp/inc/util/CompressorIterator.hxx b/xmlhelp/source/cxxhelp/inc/util/CompressorIterator.hxx index 36393d37ee2a..1df455fbf2a2 100644 --- a/xmlhelp/source/cxxhelp/inc/util/CompressorIterator.hxx +++ b/xmlhelp/source/cxxhelp/inc/util/CompressorIterator.hxx @@ -36,9 +36,10 @@ namespace xmlsearch { class CompressorIterator { public: - virtual void value( sal_Int32 ) = 0; + protected: + ~CompressorIterator() {} }; diff --git a/xmloff/inc/xmloff/XMLSettingsExportContext.hxx b/xmloff/inc/xmloff/XMLSettingsExportContext.hxx index aea52317e90a..b3be0276e780 100644 --- a/xmloff/inc/xmloff/XMLSettingsExportContext.hxx +++ b/xmloff/inc/xmloff/XMLSettingsExportContext.hxx @@ -58,6 +58,8 @@ namespace xmloff virtual ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > GetServiceFactory() const = 0; + protected: + ~XMLSettingsExportContext() {} }; //........................................................................ diff --git a/xmloff/inc/xmloff/settingsstore.hxx b/xmloff/inc/xmloff/settingsstore.hxx index af9ac084d20f..b9f5f04c45bd 100644 --- a/xmloff/inc/xmloff/settingsstore.hxx +++ b/xmloff/inc/xmloff/settingsstore.hxx @@ -49,6 +49,9 @@ public: filterStreamsToStorage( const com::sun::star::uno::Reference< com::sun::star::embed::XStorage > &xStorage, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& aConfigProps ) = 0; + +protected: + ~DocumentSettingsSerializer() {} }; #endif // _XMLOFF_SETTINGS_STORE_HXX diff --git a/xmloff/source/forms/callbacks.hxx b/xmloff/source/forms/callbacks.hxx index 4bf0f7de2690..ed3818aafbae 100644 --- a/xmloff/source/forms/callbacks.hxx +++ b/xmloff/source/forms/callbacks.hxx @@ -63,6 +63,9 @@ namespace xmloff virtual ::rtl::OUString getObjectStyleName( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxObject ) = 0; + + protected: + ~IFormsExportContext() {} }; //===================================================================== @@ -75,6 +78,9 @@ namespace xmloff const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxElement, const ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >& _rEvents ) = 0; + + protected: + ~IEventAttacherManager() {} }; //===================================================================== @@ -86,6 +92,9 @@ namespace xmloff virtual void registerEvents( const ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >& _rEvents ) = 0; + + protected: + ~IEventAttacher() {} }; //......................................................................... |