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 --- 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 + 20 files changed, 44 insertions(+), 37 deletions(-) (limited to 'kontact') diff --git a/kontact/interfaces/plugin.h b/kontact/interfaces/plugin.h index c4d573abe..3d8c66cf5 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 3af1a8773..6ecc23812 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 01997690c..a7a7fa7af 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 479ca8967..041d7a973 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 b3a8fee86..3db624ce7 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 e65f8ff90..f2f6259be 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 5e9610365..b484e32ec 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 eb1914ec4..923fd3a80 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 460e06032..4b1cb21ef 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 01606fba2..069f10fbc 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 65a4d0531..3aaa40839 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 188457c28..81053917f 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 66a4d0423..478dcedbe 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 b00cc0ac3..04d46883f 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 b3c0b651d..ebaf34b45 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 53c0621e4..e0ac8a0e1 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 41d598964..5ea257863 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 256fb5207..2a541c845 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 a1decfbb2..93a97bfc9 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 ecf2a6fee..a7eb5b613 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 ); -- cgit v1.2.1