diff --git a/include/konsole_part.h b/include/konsole_part.h index 579014c6..a6efdbfb 100644 --- a/include/konsole_part.h +++ b/include/konsole_part.h @@ -49,6 +49,7 @@ public: private: static KInstance *s_instance; + static KAboutData *s_aboutData; }; class konsolePart: public KParts::ReadOnlyPart diff --git a/src/konsole_part.C b/src/konsole_part.C index cf468daa..b4b4ce4e 100644 --- a/src/konsole_part.C +++ b/src/konsole_part.C @@ -57,6 +57,7 @@ extern "C" * We need one static instance of the factory for our C 'main' function */ KInstance *konsoleFactory::s_instance = 0L; +KAboutData *konsoleFactory::s_aboutData = 0; konsoleFactory::konsoleFactory() { @@ -67,7 +68,11 @@ konsoleFactory::~konsoleFactory() if (s_instance) delete s_instance; + if ( s_aboutData ) + delete s_aboutData; + s_instance = 0; + s_aboutData = 0; } KParts::Part *konsoleFactory::createPart(QWidget *parentWidget, const char *widgetName, @@ -84,8 +89,8 @@ KInstance *konsoleFactory::instance() { if ( !s_instance ) { - KAboutData about("konsole", I18N_NOOP("Konsole"), "1.0"); - s_instance = new KInstance(&about); + s_aboutData = new KAboutData("konsole", I18N_NOOP("Konsole"), "1.0"); + s_instance = new KInstance( s_aboutData ); } return s_instance; }