All pastes #674022 Raw Edit

Miscellany

public text v1 · immutable
#674022 ·published 2007-08-28 21:21 UTC
rendered paste body
Index: kpluginfactory.h
===================================================================
--- kpluginfactory.h    (revision 705903)
+++ kpluginfactory.h    (working copy)
@@ -30,6 +30,7 @@
 #include <kcomponentdata.h>

 class KPluginFactoryPrivate;
+namespace KParts { class Part; }

 #define K_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY(name, baseFactory) \
 class name : public baseFactory \
@@ -315,8 +316,15 @@
     }

     template<class impl>
+    static QObject *createPartInstance(QWidget *parentWidget, QObject *parent, const QVariantList &args)
+    {
+        return new impl(parentWidget, parent, args);
+    }
+
+    template<class impl>
     struct InheritanceChecker
     {
+        static CreateInstanceFunction createInstanceFunction(KParts::Part *) { return &createPartInstance<impl>; }
         static CreateInstanceFunction createInstanceFunction(QWidget *) { return &createInstance<impl, QWidget>; }
         static CreateInstanceFunction createInstanceFunction(...) { return &createInstance<impl, QObject>; }
     };