From 6e9f8cb7044774da171b2a0f6ffdda579eb9ddab Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 6 Dec 2014 15:17:15 -0600 Subject: Fix Kontact crash in Akregator part due to identical destructor signatures being generated for two unrelated classes This relates to Bug 2235 Fix a slew of non-virtual destructor problems --- akregator/src/actionmanagerimpl.cpp | 1 + akregator/src/article.cpp | 6 +++--- akregator/src/articlefilter.h | 4 ++++ akregator/src/articlelistview.cpp | 1 + akregator/src/articleviewer.cpp | 1 + akregator/src/feed.cpp | 12 +++++------ akregator/src/feedlist.cpp | 2 ++ akregator/src/feedlistview.cpp | 4 ++++ akregator/src/plugin.cpp | 6 ++++-- akregator/src/plugin.h | 1 - akregator/src/simplenodeselector.cpp | 1 + akregator/src/storagefactory.h | 13 ++++++----- kontact/interfaces/plugin.h | 3 +-- kontact/interfaces/uniqueapphandler.h | 2 ++ kontact/plugins/akregator/akregator_plugin.cpp | 25 +++++++++++----------- kontact/plugins/akregator/akregator_plugin.h | 7 +++--- kontact/plugins/kaddressbook/kaddressbook_plugin.h | 3 +-- kontact/plugins/karm/karm_plugin.h | 3 +-- kontact/plugins/kitchensync/kitchensync_plugin.h | 3 +-- kontact/plugins/kmail/kmail_plugin.h | 3 +-- kontact/plugins/knode/knode_plugin.h | 3 +-- kontact/plugins/knotes/knotes_plugin.h | 3 +-- kontact/plugins/korganizer/korganizerplugin.h | 3 +-- kontact/plugins/kpilot/kpilot_plugin.cpp | 4 ++++ kontact/plugins/kpilot/kpilot_plugin.h | 1 + kontact/plugins/newsticker/newsticker_plugin.cpp | 4 ++++ kontact/plugins/newsticker/newsticker_plugin.h | 1 + kontact/plugins/specialdates/specialdates_plugin.h | 2 +- kontact/plugins/summary/summaryview_plugin.h | 4 ++-- kontact/plugins/test/test_plugin.h | 2 +- kontact/plugins/weather/weather_plugin.cpp | 4 ++++ kontact/plugins/weather/weather_plugin.h | 1 + korganizer/printing/cellitem.h | 7 +++--- ktnef/gui/qwmf.cpp | 2 ++ libkcal/calendarresources.h | 3 +++ libtdepim/alarmclient.cpp | 4 ++++ libtdepim/alarmclient.h | 1 + wizards/kmailchanges.h | 2 ++ 38 files changed, 95 insertions(+), 57 deletions(-) diff --git a/akregator/src/actionmanagerimpl.cpp b/akregator/src/actionmanagerimpl.cpp index c269500e..7fa61cdc 100644 --- a/akregator/src/actionmanagerimpl.cpp +++ b/akregator/src/actionmanagerimpl.cpp @@ -68,6 +68,7 @@ class ActionManagerImpl::NodeSelectVisitor : public TreeNodeVisitor { public: NodeSelectVisitor(ActionManagerImpl* manager) : m_manager(manager) {} + virtual ~NodeSelectVisitor() {} virtual bool visitFeed(Feed* node) { diff --git a/akregator/src/article.cpp b/akregator/src/article.cpp index 8b62509f..0e01d3e7 100644 --- a/akregator/src/article.cpp +++ b/akregator/src/article.cpp @@ -91,6 +91,7 @@ Article::Article(const TQString& guid, Feed* feed) : d(new Private) d->guid = guid; d->archive = Backend::Storage::getInstance()->archiveFor(feed->xmlUrl()); d->status = 0; + d->hash = 0; } void Article::initialize(RSS::Article article, Backend::FeedStorage* archive) @@ -101,7 +102,7 @@ void Article::initialize(RSS::Article article, Backend::FeedStorage* archive) + article.commentsLink().url() ); d->guid = article.guid(); - + if (!d->archive->contains(d->guid)) { d->archive->addEntry(d->guid); @@ -113,7 +114,7 @@ void Article::initialize(RSS::Article article, Backend::FeedStorage* archive) } else { // article is not deleted, let's add it to the archive - + d->archive->setHash(d->guid, hash() ); TQString title = article.title().isEmpty() ? buildTitle(article.description()) : article.title(); d->archive->setTitle(d->guid, title); @@ -358,7 +359,6 @@ KURL Article::commentsLink() const int Article::comments() const { - return d->archive->comments(d->guid); } diff --git a/akregator/src/articlefilter.h b/akregator/src/articlefilter.h index 5f1e7af3..535a731e 100644 --- a/akregator/src/articlefilter.h +++ b/akregator/src/articlefilter.h @@ -144,6 +144,10 @@ class TagMatcher : public AbstractMatcher class AbstractAction { + public: + AbstractAction() {} + virtual ~AbstractAction() {} + public: virtual void exec(Article& article) = 0; diff --git a/akregator/src/articlelistview.cpp b/akregator/src/articlelistview.cpp index 2324096b..a0e5c8b7 100644 --- a/akregator/src/articlelistview.cpp +++ b/akregator/src/articlelistview.cpp @@ -89,6 +89,7 @@ class ArticleListView::ColumnLayoutVisitor : public TreeNodeVisitor { public: ColumnLayoutVisitor(ArticleListView* view) : m_view(view) {} + virtual ~ColumnLayoutVisitor() {} virtual bool visitTagNode(TagNode* /*node*/) { diff --git a/akregator/src/articleviewer.cpp b/akregator/src/articleviewer.cpp index 96b269e6..3b1cc6db 100644 --- a/akregator/src/articleviewer.cpp +++ b/akregator/src/articleviewer.cpp @@ -66,6 +66,7 @@ class ArticleViewer::ShowSummaryVisitor : public TreeNodeVisitor public: ShowSummaryVisitor(ArticleViewer* view) : m_view(view) {} + virtual ~ShowSummaryVisitor() {} virtual bool visitFeed(Feed* node) { diff --git a/akregator/src/feed.cpp b/akregator/src/feed.cpp index 3b0d8103..7e7f59e8 100644 --- a/akregator/src/feed.cpp +++ b/akregator/src/feed.cpp @@ -445,7 +445,7 @@ void Feed::appendArticles(const RSS::Document &doc) RSS::Article::List::ConstIterator en = d_articles.end(); int nudge=0; - + TQValueList
deletedArticles = d->deletedArticles; for (it = d_articles.begin(); it != en; ++it) @@ -460,21 +460,21 @@ void Feed::appendArticles(const RSS::Document &doc) TQValueList interceptors = ArticleInterceptorManager::self()->interceptors(); for (TQValueList::ConstIterator it = interceptors.begin(); it != interceptors.end(); ++it) (*it)->processArticle(mya); - + d->addedArticlesNotify.append(mya); - + if (!mya.isDeleted() && !markImmediatelyAsRead()) mya.setStatus(Article::New); else mya.setStatus(Article::Read); - + changed = true; } else // article is in list { // if the article's guid is no hash but an ID, we have to check if the article was updated. That's done by comparing the hash values. Article old = d->articles[(*it).guid()]; - Article mya(*it, this); + Article mya(*it, this); if (!mya.guidIsHash() && mya.hash() != old.hash() && !old.isDeleted()) { mya.setKeep(old.keep()); @@ -491,7 +491,7 @@ void Feed::appendArticles(const RSS::Document &doc) } else if (old.isDeleted()) deletedArticles.remove(mya); - } + } } TQValueList
::ConstIterator dit = deletedArticles.begin(); diff --git a/akregator/src/feedlist.cpp b/akregator/src/feedlist.cpp index 708b4fb7..0c34e393 100644 --- a/akregator/src/feedlist.cpp +++ b/akregator/src/feedlist.cpp @@ -52,6 +52,7 @@ class FeedList::AddNodeVisitor : public TreeNodeVisitor { public: AddNodeVisitor(FeedList* list) : m_list(list) {} + virtual ~AddNodeVisitor() {} virtual bool visitFeed(Feed* node) @@ -69,6 +70,7 @@ class FeedList::RemoveNodeVisitor : public TreeNodeVisitor { public: RemoveNodeVisitor(FeedList* list) : m_list(list) {} + virtual ~RemoveNodeVisitor() {} virtual bool visitFeed(Feed* node) { diff --git a/akregator/src/feedlistview.cpp b/akregator/src/feedlistview.cpp index d6ea394a..f0a37363 100644 --- a/akregator/src/feedlistview.cpp +++ b/akregator/src/feedlistview.cpp @@ -78,6 +78,7 @@ class NodeListView::ConnectNodeVisitor : public TreeNodeVisitor { public: ConnectNodeVisitor(NodeListView* view) : m_view(view) {} + virtual ~ConnectNodeVisitor() {} virtual bool visitTreeNode(TreeNode* node) { @@ -114,6 +115,7 @@ class NodeListView::DisconnectNodeVisitor : public TreeNodeVisitor { public: DisconnectNodeVisitor(NodeListView* view) : m_view(view) {} + virtual ~DisconnectNodeVisitor() {} virtual bool visitTagNode(TagNode* node) { @@ -153,6 +155,7 @@ class NodeListView::DeleteItemVisitor : public TreeNodeVisitor public: DeleteItemVisitor(NodeListView* view) : m_view(view) {} + virtual ~DeleteItemVisitor() {} virtual bool visitTreeNode(TreeNode* node) { @@ -204,6 +207,7 @@ class NodeListView::CreateItemVisitor : public TreeNodeVisitor { public: CreateItemVisitor(NodeListView* view) : m_view(view) {} + virtual ~CreateItemVisitor() {} virtual bool visitTagNode(TagNode* node) { diff --git a/akregator/src/plugin.cpp b/akregator/src/plugin.cpp index 495dabc3..a90136b8 100644 --- a/akregator/src/plugin.cpp +++ b/akregator/src/plugin.cpp @@ -8,11 +8,13 @@ namespace Akregator { Plugin::Plugin() -{} +{ +} Plugin::~Plugin() -{} +{ +} void diff --git a/akregator/src/plugin.h b/akregator/src/plugin.h index 650a4a92..f4408420 100644 --- a/akregator/src/plugin.h +++ b/akregator/src/plugin.h @@ -14,7 +14,6 @@ #include #include - namespace Akregator { // class PluginConfig; diff --git a/akregator/src/simplenodeselector.cpp b/akregator/src/simplenodeselector.cpp index 4291bb45..a4f1d4be 100644 --- a/akregator/src/simplenodeselector.cpp +++ b/akregator/src/simplenodeselector.cpp @@ -93,6 +93,7 @@ class SimpleNodeSelector::NodeVisitor : public TreeNodeVisitor public: NodeVisitor(SimpleNodeSelector* view) : TreeNodeVisitor(), m_view(view) {} + virtual ~NodeVisitor() {} void createItems(TreeNode* node) { diff --git a/akregator/src/storagefactory.h b/akregator/src/storagefactory.h index 93ab7f75..3505ef44 100644 --- a/akregator/src/storagefactory.h +++ b/akregator/src/storagefactory.h @@ -38,18 +38,21 @@ class Storage; class AKREGATOR_EXPORT StorageFactory { public: - + + StorageFactory() {} + virtual ~StorageFactory() {} + /** identifier of the storage type, like "metakit", "postgres" etc. For use in configuration files. Must not contain spaces or special characters. */ virtual TQString key() const = 0; - + /** returns the (i18n'd) name of the storage type. */ virtual TQString name() const = 0; /** true if the plugin is configurable via a config dialog */ virtual bool isConfigurable() const = 0; - + /** shows the plugin's configuration dialog */ virtual void configure() = 0; @@ -59,11 +62,11 @@ class AKREGATOR_EXPORT StorageFactory * write access. */ virtual bool allowsMultipleWriteAccess() const = 0; - + /** creates a storage object with given parameters @param params list of implementation-specific parameters */ - virtual Storage* createStorage(const TQStringList& params) const = 0; + virtual Storage* createStorage(const TQStringList& params) const = 0; }; } diff --git a/kontact/interfaces/plugin.h b/kontact/interfaces/plugin.h index c4d573ab..3d8c66cf 100644 --- a/kontact/interfaces/plugin.h +++ b/kontact/interfaces/plugin.h @@ -58,7 +58,6 @@ class Summary; class KDE_EXPORT Plugin : public TQObject, virtual public KXMLGUIClient { Q_OBJECT - public: /** @@ -71,7 +70,7 @@ class KDE_EXPORT Plugin : public TQObject, virtual public KXMLGUIClient */ Plugin( Core *core, TQObject *parent, const char *name ); - ~Plugin(); + virtual ~Plugin(); /** Sets the identifier. diff --git a/kontact/interfaces/uniqueapphandler.h b/kontact/interfaces/uniqueapphandler.h index 3af1a877..6ecc2381 100644 --- a/kontact/interfaces/uniqueapphandler.h +++ b/kontact/interfaces/uniqueapphandler.h @@ -63,6 +63,8 @@ class KDE_EXPORT UniqueAppHandler : public DCOPObject class UniqueAppHandlerFactoryBase { public: + UniqueAppHandlerFactoryBase() {} + virtual ~UniqueAppHandlerFactoryBase() {} virtual UniqueAppHandler* createHandler( Plugin* ) = 0; }; diff --git a/kontact/plugins/akregator/akregator_plugin.cpp b/kontact/plugins/akregator/akregator_plugin.cpp index 01997690..a7a7fa7a 100644 --- a/kontact/plugins/akregator/akregator_plugin.cpp +++ b/kontact/plugins/akregator/akregator_plugin.cpp @@ -44,14 +44,13 @@ #include "akregator_plugin.h" namespace Akregator { -typedef KGenericFactory PluginFactory; +typedef KGenericFactory PluginFactory; K_EXPORT_COMPONENT_FACTORY( libkontact_akregator, PluginFactory( "kontact_akregator" ) ) -Plugin::Plugin( Kontact::Core *core, const char *, const TQStringList& ) +AkregatorPlugin::AkregatorPlugin( Kontact::Core *core, const char *, const TQStringList& ) : Kontact::Plugin( core, TQT_TQOBJECT(core), "akregator" ), m_stub(0) { - setInstance( PluginFactory::instance() ); insertNewAction( new TDEAction( i18n( "New Feed..." ), "bookmark_add", CTRL+SHIFT+Key_F, this, TQT_SLOT( addFeed() ), actionCollection(), "feed_new" ) ); @@ -60,22 +59,22 @@ Plugin::Plugin( Kontact::Core *core, const char *, const TQStringList& ) new Kontact::UniqueAppHandlerFactory(), this ); } -Plugin::~Plugin() +AkregatorPlugin::~AkregatorPlugin() { } -bool Plugin::isRunningStandalone() +bool AkregatorPlugin::isRunningStandalone() { return m_uniqueAppWatcher->isRunningStandalone(); } -TQStringList Plugin::invisibleToolbarActions() const +TQStringList AkregatorPlugin::invisibleToolbarActions() const { return TQStringList( "file_new_contact" ); } -Akregator::AkregatorPartIface_stub *Plugin::interface() +Akregator::AkregatorPartIface_stub *AkregatorPlugin::interface() { if ( !m_stub ) { part(); @@ -86,7 +85,7 @@ Akregator::AkregatorPartIface_stub *Plugin::interface() } -MyBasePart* Plugin::createPart() +MyBasePart* AkregatorPlugin::createPart() { MyBasePart* p = loadPart(); @@ -98,24 +97,24 @@ MyBasePart* Plugin::createPart() } -void Plugin::showPart() +void AkregatorPlugin::showPart() { core()->selectPlugin(this); } -void Plugin::addFeed() +void AkregatorPlugin::addFeed() { interface()->addFeed(); } -TQStringList Plugin::configModules() const +TQStringList AkregatorPlugin::configModules() const { TQStringList modules; modules << "PIM/akregator.desktop"; return modules; } -void Plugin::readProperties( TDEConfig *config ) +void AkregatorPlugin::readProperties( TDEConfig *config ) { if ( part() ) { Akregator::Part *myPart = static_cast( part() ); @@ -123,7 +122,7 @@ void Plugin::readProperties( TDEConfig *config ) } } -void Plugin::saveProperties( TDEConfig *config ) +void AkregatorPlugin::saveProperties( TDEConfig *config ) { if ( part() ) { Akregator::Part *myPart = static_cast( part() ); diff --git a/kontact/plugins/akregator/akregator_plugin.h b/kontact/plugins/akregator/akregator_plugin.h index 479ca896..041d7a97 100644 --- a/kontact/plugins/akregator/akregator_plugin.h +++ b/kontact/plugins/akregator/akregator_plugin.h @@ -48,15 +48,14 @@ class UniqueAppHandler : public Kontact::UniqueAppHandler }; -class Plugin : public Kontact::Plugin +class AkregatorPlugin : public Kontact::Plugin { Q_OBJECT - public: - Plugin( Kontact::Core *core, const char *name, + AkregatorPlugin( Kontact::Core *core, const char *name, const TQStringList & ); - ~Plugin(); + virtual ~AkregatorPlugin(); int weight() const { return 475; } diff --git a/kontact/plugins/kaddressbook/kaddressbook_plugin.h b/kontact/plugins/kaddressbook/kaddressbook_plugin.h index b3a8fee8..3db624ce 100644 --- a/kontact/plugins/kaddressbook/kaddressbook_plugin.h +++ b/kontact/plugins/kaddressbook/kaddressbook_plugin.h @@ -45,11 +45,10 @@ public: class KAddressbookPlugin : public Kontact::Plugin { Q_OBJECT - public: KAddressbookPlugin( Kontact::Core *core, const char *name, const TQStringList& ); - ~KAddressbookPlugin(); + virtual ~KAddressbookPlugin(); virtual bool createDCOPInterface( const TQString &serviceType ); virtual bool isRunningStandalone(); diff --git a/kontact/plugins/karm/karm_plugin.h b/kontact/plugins/karm/karm_plugin.h index e65f8ff9..f2f6259b 100644 --- a/kontact/plugins/karm/karm_plugin.h +++ b/kontact/plugins/karm/karm_plugin.h @@ -37,12 +37,11 @@ class TDEAboutData; class KarmPlugin : public Kontact::Plugin { Q_OBJECT - public: KarmPlugin( Kontact::Core *core, const char *name, const TQStringList & ); - ~KarmPlugin(); + virtual ~KarmPlugin(); int weight() const { return 700; } diff --git a/kontact/plugins/kitchensync/kitchensync_plugin.h b/kontact/plugins/kitchensync/kitchensync_plugin.h index 5e961036..b484e32e 100644 --- a/kontact/plugins/kitchensync/kitchensync_plugin.h +++ b/kontact/plugins/kitchensync/kitchensync_plugin.h @@ -35,12 +35,11 @@ class TDEAboutData; class KitchenSyncPlugin : public Kontact::Plugin { Q_OBJECT - public: KitchenSyncPlugin( Kontact::Core *core, const char *name, const TQStringList & ); - ~KitchenSyncPlugin(); + virtual ~KitchenSyncPlugin(); int weight() const { return 800; } diff --git a/kontact/plugins/kmail/kmail_plugin.h b/kontact/plugins/kmail/kmail_plugin.h index eb1914ec..923fd3a8 100644 --- a/kontact/plugins/kmail/kmail_plugin.h +++ b/kontact/plugins/kmail/kmail_plugin.h @@ -46,11 +46,10 @@ public: class KMailPlugin : public Kontact::Plugin { Q_OBJECT - public: KMailPlugin( Kontact::Core *core, const char *name, const TQStringList& ); - ~KMailPlugin(); + virtual ~KMailPlugin(); virtual bool isRunningStandalone(); virtual bool createDCOPInterface( const TQString& serviceType ); diff --git a/kontact/plugins/knode/knode_plugin.h b/kontact/plugins/knode/knode_plugin.h index 460e0603..4b1cb21e 100644 --- a/kontact/plugins/knode/knode_plugin.h +++ b/kontact/plugins/knode/knode_plugin.h @@ -43,11 +43,10 @@ public: class KNodePlugin : public Kontact::Plugin { Q_OBJECT - public: KNodePlugin( Kontact::Core *core, const char *name, const TQStringList& ); - ~KNodePlugin(); + virtual ~KNodePlugin(); virtual bool createDCOPInterface( const TQString& serviceType ); virtual bool isRunningStandalone(); diff --git a/kontact/plugins/knotes/knotes_plugin.h b/kontact/plugins/knotes/knotes_plugin.h index 01606fba..069f10fb 100644 --- a/kontact/plugins/knotes/knotes_plugin.h +++ b/kontact/plugins/knotes/knotes_plugin.h @@ -32,11 +32,10 @@ class SummaryWidget; class KNotesPlugin : public Kontact::Plugin { Q_OBJECT - public: KNotesPlugin( Kontact::Core *core, const char *name, const TQStringList& ); - ~KNotesPlugin(); + virtual ~KNotesPlugin(); virtual Kontact::Summary *createSummaryWidget( TQWidget *parentWidget ); diff --git a/kontact/plugins/korganizer/korganizerplugin.h b/kontact/plugins/korganizer/korganizerplugin.h index 65a4d053..3aaa4083 100644 --- a/kontact/plugins/korganizer/korganizerplugin.h +++ b/kontact/plugins/korganizer/korganizerplugin.h @@ -36,11 +36,10 @@ class KOrganizerPlugin : public Kontact::Plugin { Q_OBJECT - public: KOrganizerPlugin( Kontact::Core *core, const char *name, const TQStringList& ); - ~KOrganizerPlugin(); + virtual ~KOrganizerPlugin(); virtual bool createDCOPInterface( const TQString& serviceType ); virtual bool isRunningStandalone(); diff --git a/kontact/plugins/kpilot/kpilot_plugin.cpp b/kontact/plugins/kpilot/kpilot_plugin.cpp index 188457c2..81053917 100644 --- a/kontact/plugins/kpilot/kpilot_plugin.cpp +++ b/kontact/plugins/kpilot/kpilot_plugin.cpp @@ -43,6 +43,10 @@ KPilotPlugin::KPilotPlugin( Kontact::Core *core, const char *name, const TQStrin } +KPilotPlugin::~KPilotPlugin() +{ +} + Kontact::Summary *KPilotPlugin::createSummaryWidget( TQWidget *parentWidget ) { return new SummaryWidget( parentWidget ); diff --git a/kontact/plugins/kpilot/kpilot_plugin.h b/kontact/plugins/kpilot/kpilot_plugin.h index 66a4d042..478dcedb 100644 --- a/kontact/plugins/kpilot/kpilot_plugin.h +++ b/kontact/plugins/kpilot/kpilot_plugin.h @@ -32,6 +32,7 @@ class KPilotPlugin : public Kontact::Plugin public: KPilotPlugin( Kontact::Core *core, const char *name, const TQStringList& ); KPilotPlugin(); + virtual ~KPilotPlugin(); virtual Kontact::Summary *createSummaryWidget( TQWidget *parentWidget ); diff --git a/kontact/plugins/newsticker/newsticker_plugin.cpp b/kontact/plugins/newsticker/newsticker_plugin.cpp index b00cc0ac..04d46883 100644 --- a/kontact/plugins/newsticker/newsticker_plugin.cpp +++ b/kontact/plugins/newsticker/newsticker_plugin.cpp @@ -37,6 +37,10 @@ NewsTickerPlugin::NewsTickerPlugin( Kontact::Core *core, const char *name, const setInstance( NewsTickerPluginFactory::instance() ); } +NewsTickerPlugin::~NewsTickerPlugin() +{ +} + Kontact::Summary *NewsTickerPlugin::createSummaryWidget( TQWidget* parentWidget ) { return new SummaryWidget( parentWidget ); diff --git a/kontact/plugins/newsticker/newsticker_plugin.h b/kontact/plugins/newsticker/newsticker_plugin.h index b3c0b651..ebaf34b4 100644 --- a/kontact/plugins/newsticker/newsticker_plugin.h +++ b/kontact/plugins/newsticker/newsticker_plugin.h @@ -30,6 +30,7 @@ class NewsTickerPlugin : public Kontact::Plugin public: NewsTickerPlugin( Kontact::Core *core, const char *name, const TQStringList& ); NewsTickerPlugin(); + virtual ~NewsTickerPlugin(); virtual Kontact::Summary *createSummaryWidget( TQWidget* parentWidget ); diff --git a/kontact/plugins/specialdates/specialdates_plugin.h b/kontact/plugins/specialdates/specialdates_plugin.h index 53c0621e..e0ac8a0e 100644 --- a/kontact/plugins/specialdates/specialdates_plugin.h +++ b/kontact/plugins/specialdates/specialdates_plugin.h @@ -33,7 +33,7 @@ class SpecialdatesPlugin : public Kontact::Plugin { public: SpecialdatesPlugin( Kontact::Core *core, const char *name, const TQStringList& ); - ~SpecialdatesPlugin(); + virtual ~SpecialdatesPlugin(); int weight() const { return 310; } diff --git a/kontact/plugins/summary/summaryview_plugin.h b/kontact/plugins/summary/summaryview_plugin.h index 41d59896..5ea25786 100644 --- a/kontact/plugins/summary/summaryview_plugin.h +++ b/kontact/plugins/summary/summaryview_plugin.h @@ -1,7 +1,7 @@ /* This file is part of KDE Kontact. - Copyright (C) 2003 Sven Lüppken + Copyright (C) 2003 Sven L�ppken This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -39,7 +39,7 @@ class SummaryView : public Kontact::Plugin public: SummaryView( Kontact::Core *core, const char *name, const TQStringList& ); - ~SummaryView(); + virtual ~SummaryView(); int weight() const { return 100; } diff --git a/kontact/plugins/test/test_plugin.h b/kontact/plugins/test/test_plugin.h index 256fb520..2a541c84 100644 --- a/kontact/plugins/test/test_plugin.h +++ b/kontact/plugins/test/test_plugin.h @@ -39,7 +39,7 @@ class TestPlugin : public Kontact::Plugin public: TestPlugin(Kontact::Core *core, const char *name, const TQStringList &); - ~TestPlugin(); + virtual ~TestPlugin(); protected: KParts::Part* createPart(); diff --git a/kontact/plugins/weather/weather_plugin.cpp b/kontact/plugins/weather/weather_plugin.cpp index a1decfbb..93a97bfc 100644 --- a/kontact/plugins/weather/weather_plugin.cpp +++ b/kontact/plugins/weather/weather_plugin.cpp @@ -37,6 +37,10 @@ WeatherPlugin::WeatherPlugin( Kontact::Core *core, const char *name, const TQStr setInstance( WeatherPluginFactory::instance() ); } +WeatherPlugin::~WeatherPlugin() +{ +} + Kontact::Summary *WeatherPlugin::createSummaryWidget( TQWidget *parentWidget ) { return new SummaryWidget( parentWidget ); diff --git a/kontact/plugins/weather/weather_plugin.h b/kontact/plugins/weather/weather_plugin.h index ecf2a6fe..a7eb5b61 100644 --- a/kontact/plugins/weather/weather_plugin.h +++ b/kontact/plugins/weather/weather_plugin.h @@ -30,6 +30,7 @@ class WeatherPlugin : public Kontact::Plugin public: WeatherPlugin( Kontact::Core *core, const char *name, const TQStringList& ); WeatherPlugin(); + virtual ~WeatherPlugin(); virtual Kontact::Summary *createSummaryWidget( TQWidget *parentWidget ); diff --git a/korganizer/printing/cellitem.h b/korganizer/printing/cellitem.h index 9e1beb6c..e4a37da0 100644 --- a/korganizer/printing/cellitem.h +++ b/korganizer/printing/cellitem.h @@ -38,13 +38,14 @@ class KDE_EXPORT CellItem : mSubCells( 0 ), mSubCell( -1 ) { } - + virtual ~CellItem() {} + void setSubCells( int v ) { mSubCells = v; } int subCells() const { return mSubCells; } - + void setSubCell( int v ) { mSubCell = v; } int subCell() const { return mSubCell; } - + virtual bool overlaps( CellItem *other ) const = 0; virtual TQString label() const; diff --git a/ktnef/gui/qwmf.cpp b/ktnef/gui/qwmf.cpp index bc31584c..37eaa170 100644 --- a/ktnef/gui/qwmf.cpp +++ b/ktnef/gui/qwmf.cpp @@ -50,6 +50,8 @@ public: class WinObjHandle { public: + WinObjHandle() {} + virtual ~WinObjHandle() {} virtual void apply( TQPainter& p ) = 0; }; diff --git a/libkcal/calendarresources.h b/libkcal/calendarresources.h index c9d2e334..bb756f85 100644 --- a/libkcal/calendarresources.h +++ b/libkcal/calendarresources.h @@ -77,6 +77,7 @@ class LIBKCAL_EXPORT CalendarResources : DestinationPolicy( CalendarResourceManager *manager, TQWidget *parent = 0 ) : mManager( manager ), mParent( parent ) {} + virtual ~DestinationPolicy() {} virtual ResourceCalendar *destination( Incidence *incidence ) = 0; virtual TQWidget *parent() { return mParent; } @@ -100,6 +101,7 @@ class LIBKCAL_EXPORT CalendarResources : StandardDestinationPolicy( CalendarResourceManager *manager, TQWidget *parent = 0 ) : DestinationPolicy( manager, parent ) {} + virtual ~StandardDestinationPolicy() {} ResourceCalendar *destination( Incidence *incidence ); @@ -117,6 +119,7 @@ class LIBKCAL_EXPORT CalendarResources : AskDestinationPolicy( CalendarResourceManager *manager, TQWidget *parent = 0 ) : DestinationPolicy( manager, parent ) {} + virtual ~AskDestinationPolicy() {} ResourceCalendar *destination( Incidence *incidence ); diff --git a/libtdepim/alarmclient.cpp b/libtdepim/alarmclient.cpp index b41cc2a9..50e7b960 100644 --- a/libtdepim/alarmclient.cpp +++ b/libtdepim/alarmclient.cpp @@ -34,6 +34,10 @@ AlarmClient::AlarmClient() kdDebug(5850) << "AlarmClient::AlarmClient()" << endl; } +AlarmClient::~AlarmClient() +{ +} + void AlarmClient::startDaemon() { if ( kapp->dcopClient()->isApplicationRegistered( "korgac" ) ) { diff --git a/libtdepim/alarmclient.h b/libtdepim/alarmclient.h index 2d294143..c22ef420 100644 --- a/libtdepim/alarmclient.h +++ b/libtdepim/alarmclient.h @@ -29,6 +29,7 @@ class AlarmClient { public: AlarmClient(); + virtual ~AlarmClient(); /** Start alarm daemon. diff --git a/wizards/kmailchanges.h b/wizards/kmailchanges.h index b098b08d..e17baa95 100644 --- a/wizards/kmailchanges.h +++ b/wizards/kmailchanges.h @@ -35,6 +35,8 @@ class CreateImapAccount : public TDEConfigPropagator::Change class CustomWriter { public: + CustomWriter() {} + virtual ~CustomWriter() {} virtual void writeFolder( TDEConfig &, int folderId ) = 0; virtual void writeIds( int accountId, int transportId ) = 0; }; -- cgit v1.2.3